<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Clang_ast_t (infer.ATDGenerated.Clang_ast_t)</title><meta charset="utf-8"/><link rel="stylesheet" href="../../../odoc.support/odoc.css"/><meta name="generator" content="odoc 2.4.1"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../odoc.support/highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body class="odoc"><nav class="odoc-nav"><a href="../index.html">Up</a> – <a href="../../index.html">infer</a> &#x00BB; <a href="../index.html">ATDGenerated</a> &#x00BB; Clang_ast_t</nav><header class="odoc-preamble"><h1>Module <code><span>ATDGenerated.Clang_ast_t</span></code></h1></header><div class="odoc-content"><div class="odoc-spec"><div class="spec type anchored" id="type-access_specifier"><a href="#type-access_specifier" class="anchor"></a><code><span><span class="keyword">type</span> access_specifier</span><span> = </span><span>[ </span></code><ol><li id="type-access_specifier.None" class="def variant constructor anchored"><a href="#type-access_specifier.None" class="anchor"></a><code><span>| </span><span>`None</span></code></li><li id="type-access_specifier.Public" class="def variant constructor anchored"><a href="#type-access_specifier.Public" class="anchor"></a><code><span>| </span><span>`Public</span></code></li><li id="type-access_specifier.Protected" class="def variant constructor anchored"><a href="#type-access_specifier.Protected" class="anchor"></a><code><span>| </span><span>`Protected</span></code></li><li id="type-access_specifier.Private" class="def variant constructor anchored"><a href="#type-access_specifier.Private" class="anchor"></a><code><span>| </span><span>`Private</span></code></li></ol><code><span> ]</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-atomic_expr_kind"><a href="#type-atomic_expr_kind" class="anchor"></a><code><span><span class="keyword">type</span> atomic_expr_kind</span><span> = </span><span>[ </span></code><ol><li id="type-atomic_expr_kind.AO__c11_atomic_init" class="def variant constructor anchored"><a href="#type-atomic_expr_kind.AO__c11_atomic_init" class="anchor"></a><code><span>| </span><span>`AO__c11_atomic_init</span></code></li><li id="type-atomic_expr_kind.AO__c11_atomic_load" class="def variant constructor anchored"><a href="#type-atomic_expr_kind.AO__c11_atomic_load" class="anchor"></a><code><span>| </span><span>`AO__c11_atomic_load</span></code></li><li id="type-atomic_expr_kind.AO__c11_atomic_store" class="def variant constructor anchored"><a href="#type-atomic_expr_kind.AO__c11_atomic_store" class="anchor"></a><code><span>| </span><span>`AO__c11_atomic_store</span></code></li><li id="type-atomic_expr_kind.AO__c11_atomic_exchange" class="def variant constructor anchored"><a href="#type-atomic_expr_kind.AO__c11_atomic_exchange" class="anchor"></a><code><span>| </span><span>`AO__c11_atomic_exchange</span></code></li><li id="type-atomic_expr_kind.AO__c11_atomic_compare_exchange_strong" class="def variant constructor anchored"><a href="#type-atomic_expr_kind.AO__c11_atomic_compare_exchange_strong" class="anchor"></a><code><span>| </span><span>`AO__c11_atomic_compare_exchange_strong</span></code></li><li id="type-atomic_expr_kind.AO__c11_atomic_compare_exchange_weak" class="def variant constructor anchored"><a href="#type-atomic_expr_kind.AO__c11_atomic_compare_exchange_weak" class="anchor"></a><code><span>| </span><span>`AO__c11_atomic_compare_exchange_weak</span></code></li><li id="type-atomic_expr_kind.AO__c11_atomic_fetch_add" class="def variant constructor anchored"><a href="#type-atomic_expr_kind.AO__c11_atomic_fetch_add" class="anchor"></a><code><span>| </span><span>`AO__c11_atomic_fetch_add</span></code></li><li id="type-atomic_expr_kind.AO__c11_atomic_fetch_sub" class="def variant constructor anchored"><a href="#type-atomic_expr_kind.AO__c11_atomic_fetch_sub" class="anchor"></a><code><span>| </span><span>`AO__c11_atomic_fetch_sub</span></code></li><li id="type-atomic_expr_kind.AO__c11_atomic_fetch_and" class="def variant constructor anchored"><a href="#type-atomic_expr_kind.AO__c11_atomic_fetch_and" class="anchor"></a><code><span>| </span><span>`AO__c11_atomic_fetch_and</span></code></li><li id="type-atomic_expr_kind.AO__c11_atomic_fetch_or" class="def variant constructor anchored"><a href="#type-atomic_expr_kind.AO__c11_atomic_fetch_or" class="anchor"></a><code><span>| </span><span>`AO__c11_atomic_fetch_or</span></code></li><li id="type-atomic_expr_kind.AO__c11_atomic_fetch_xor" class="def variant constructor anchored"><a href="#type-atomic_expr_kind.AO__c11_atomic_fetch_xor" class="anchor"></a><code><span>| </span><span>`AO__c11_atomic_fetch_xor</span></code></li><li id="type-atomic_expr_kind.AO__c11_atomic_fetch_nand" class="def variant constructor anchored"><a href="#type-atomic_expr_kind.AO__c11_atomic_fetch_nand" class="anchor"></a><code><span>| </span><span>`AO__c11_atomic_fetch_nand</span></code></li><li id="type-atomic_expr_kind.AO__c11_atomic_fetch_max" class="def variant constructor anchored"><a href="#type-atomic_expr_kind.AO__c11_atomic_fetch_max" class="anchor"></a><code><span>| </span><span>`AO__c11_atomic_fetch_max</span></code></li><li id="type-atomic_expr_kind.AO__c11_atomic_fetch_min" class="def variant constructor anchored"><a href="#type-atomic_expr_kind.AO__c11_atomic_fetch_min" class="anchor"></a><code><span>| </span><span>`AO__c11_atomic_fetch_min</span></code></li><li id="type-atomic_expr_kind.AO__atomic_load" class="def variant constructor anchored"><a href="#type-atomic_expr_kind.AO__atomic_load" class="anchor"></a><code><span>| </span><span>`AO__atomic_load</span></code></li><li id="type-atomic_expr_kind.AO__atomic_load_n" class="def variant constructor anchored"><a href="#type-atomic_expr_kind.AO__atomic_load_n" class="anchor"></a><code><span>| </span><span>`AO__atomic_load_n</span></code></li><li id="type-atomic_expr_kind.AO__atomic_store" class="def variant constructor anchored"><a href="#type-atomic_expr_kind.AO__atomic_store" class="anchor"></a><code><span>| </span><span>`AO__atomic_store</span></code></li><li id="type-atomic_expr_kind.AO__atomic_store_n" class="def variant constructor anchored"><a href="#type-atomic_expr_kind.AO__atomic_store_n" class="anchor"></a><code><span>| </span><span>`AO__atomic_store_n</span></code></li><li id="type-atomic_expr_kind.AO__atomic_exchange" class="def variant constructor anchored"><a href="#type-atomic_expr_kind.AO__atomic_exchange" class="anchor"></a><code><span>| </span><span>`AO__atomic_exchange</span></code></li><li id="type-atomic_expr_kind.AO__atomic_exchange_n" class="def variant constructor anchored"><a href="#type-atomic_expr_kind.AO__atomic_exchange_n" class="anchor"></a><code><span>| </span><span>`AO__atomic_exchange_n</span></code></li><li id="type-atomic_expr_kind.AO__atomic_compare_exchange" class="def variant constructor anchored"><a href="#type-atomic_expr_kind.AO__atomic_compare_exchange" class="anchor"></a><code><span>| </span><span>`AO__atomic_compare_exchange</span></code></li><li id="type-atomic_expr_kind.AO__atomic_compare_exchange_n" class="def variant constructor anchored"><a href="#type-atomic_expr_kind.AO__atomic_compare_exchange_n" class="anchor"></a><code><span>| </span><span>`AO__atomic_compare_exchange_n</span></code></li><li id="type-atomic_expr_kind.AO__atomic_fetch_add" class="def variant constructor anchored"><a href="#type-atomic_expr_kind.AO__atomic_fetch_add" class="anchor"></a><code><span>| </span><span>`AO__atomic_fetch_add</span></code></li><li id="type-atomic_expr_kind.AO__atomic_fetch_sub" class="def variant constructor anchored"><a href="#type-atomic_expr_kind.AO__atomic_fetch_sub" class="anchor"></a><code><span>| </span><span>`AO__atomic_fetch_sub</span></code></li><li id="type-atomic_expr_kind.AO__atomic_fetch_and" class="def variant constructor anchored"><a href="#type-atomic_expr_kind.AO__atomic_fetch_and" class="anchor"></a><code><span>| </span><span>`AO__atomic_fetch_and</span></code></li><li id="type-atomic_expr_kind.AO__atomic_fetch_or" class="def variant constructor anchored"><a href="#type-atomic_expr_kind.AO__atomic_fetch_or" class="anchor"></a><code><span>| </span><span>`AO__atomic_fetch_or</span></code></li><li id="type-atomic_expr_kind.AO__atomic_fetch_xor" class="def variant constructor anchored"><a href="#type-atomic_expr_kind.AO__atomic_fetch_xor" class="anchor"></a><code><span>| </span><span>`AO__atomic_fetch_xor</span></code></li><li id="type-atomic_expr_kind.AO__atomic_fetch_nand" class="def variant constructor anchored"><a href="#type-atomic_expr_kind.AO__atomic_fetch_nand" class="anchor"></a><code><span>| </span><span>`AO__atomic_fetch_nand</span></code></li><li id="type-atomic_expr_kind.AO__atomic_add_fetch" class="def variant constructor anchored"><a href="#type-atomic_expr_kind.AO__atomic_add_fetch" class="anchor"></a><code><span>| </span><span>`AO__atomic_add_fetch</span></code></li><li id="type-atomic_expr_kind.AO__atomic_sub_fetch" class="def variant constructor anchored"><a href="#type-atomic_expr_kind.AO__atomic_sub_fetch" class="anchor"></a><code><span>| </span><span>`AO__atomic_sub_fetch</span></code></li><li id="type-atomic_expr_kind.AO__atomic_and_fetch" class="def variant constructor anchored"><a href="#type-atomic_expr_kind.AO__atomic_and_fetch" class="anchor"></a><code><span>| </span><span>`AO__atomic_and_fetch</span></code></li><li id="type-atomic_expr_kind.AO__atomic_or_fetch" class="def variant constructor anchored"><a href="#type-atomic_expr_kind.AO__atomic_or_fetch" class="anchor"></a><code><span>| </span><span>`AO__atomic_or_fetch</span></code></li><li id="type-atomic_expr_kind.AO__atomic_xor_fetch" class="def variant constructor anchored"><a href="#type-atomic_expr_kind.AO__atomic_xor_fetch" class="anchor"></a><code><span>| </span><span>`AO__atomic_xor_fetch</span></code></li><li id="type-atomic_expr_kind.AO__atomic_max_fetch" class="def variant constructor anchored"><a href="#type-atomic_expr_kind.AO__atomic_max_fetch" class="anchor"></a><code><span>| </span><span>`AO__atomic_max_fetch</span></code></li><li id="type-atomic_expr_kind.AO__atomic_min_fetch" class="def variant constructor anchored"><a href="#type-atomic_expr_kind.AO__atomic_min_fetch" class="anchor"></a><code><span>| </span><span>`AO__atomic_min_fetch</span></code></li><li id="type-atomic_expr_kind.AO__atomic_nand_fetch" class="def variant constructor anchored"><a href="#type-atomic_expr_kind.AO__atomic_nand_fetch" class="anchor"></a><code><span>| </span><span>`AO__atomic_nand_fetch</span></code></li><li id="type-atomic_expr_kind.AO__scoped_atomic_load" class="def variant constructor anchored"><a href="#type-atomic_expr_kind.AO__scoped_atomic_load" class="anchor"></a><code><span>| </span><span>`AO__scoped_atomic_load</span></code></li><li id="type-atomic_expr_kind.AO__scoped_atomic_load_n" class="def variant constructor anchored"><a href="#type-atomic_expr_kind.AO__scoped_atomic_load_n" class="anchor"></a><code><span>| </span><span>`AO__scoped_atomic_load_n</span></code></li><li id="type-atomic_expr_kind.AO__scoped_atomic_store" class="def variant constructor anchored"><a href="#type-atomic_expr_kind.AO__scoped_atomic_store" class="anchor"></a><code><span>| </span><span>`AO__scoped_atomic_store</span></code></li><li id="type-atomic_expr_kind.AO__scoped_atomic_store_n" class="def variant constructor anchored"><a href="#type-atomic_expr_kind.AO__scoped_atomic_store_n" class="anchor"></a><code><span>| </span><span>`AO__scoped_atomic_store_n</span></code></li><li id="type-atomic_expr_kind.AO__scoped_atomic_exchange" class="def variant constructor anchored"><a href="#type-atomic_expr_kind.AO__scoped_atomic_exchange" class="anchor"></a><code><span>| </span><span>`AO__scoped_atomic_exchange</span></code></li><li id="type-atomic_expr_kind.AO__scoped_atomic_exchange_n" class="def variant constructor anchored"><a href="#type-atomic_expr_kind.AO__scoped_atomic_exchange_n" class="anchor"></a><code><span>| </span><span>`AO__scoped_atomic_exchange_n</span></code></li><li id="type-atomic_expr_kind.AO__scoped_atomic_compare_exchange" class="def variant constructor anchored"><a href="#type-atomic_expr_kind.AO__scoped_atomic_compare_exchange" class="anchor"></a><code><span>| </span><span>`AO__scoped_atomic_compare_exchange</span></code></li><li id="type-atomic_expr_kind.AO__scoped_atomic_compare_exchange_n" class="def variant constructor anchored"><a href="#type-atomic_expr_kind.AO__scoped_atomic_compare_exchange_n" class="anchor"></a><code><span>| </span><span>`AO__scoped_atomic_compare_exchange_n</span></code></li><li id="type-atomic_expr_kind.AO__scoped_atomic_fetch_add" class="def variant constructor anchored"><a href="#type-atomic_expr_kind.AO__scoped_atomic_fetch_add" class="anchor"></a><code><span>| </span><span>`AO__scoped_atomic_fetch_add</span></code></li><li id="type-atomic_expr_kind.AO__scoped_atomic_fetch_sub" class="def variant constructor anchored"><a href="#type-atomic_expr_kind.AO__scoped_atomic_fetch_sub" class="anchor"></a><code><span>| </span><span>`AO__scoped_atomic_fetch_sub</span></code></li><li id="type-atomic_expr_kind.AO__scoped_atomic_fetch_and" class="def variant constructor anchored"><a href="#type-atomic_expr_kind.AO__scoped_atomic_fetch_and" class="anchor"></a><code><span>| </span><span>`AO__scoped_atomic_fetch_and</span></code></li><li id="type-atomic_expr_kind.AO__scoped_atomic_fetch_or" class="def variant constructor anchored"><a href="#type-atomic_expr_kind.AO__scoped_atomic_fetch_or" class="anchor"></a><code><span>| </span><span>`AO__scoped_atomic_fetch_or</span></code></li><li id="type-atomic_expr_kind.AO__scoped_atomic_fetch_xor" class="def variant constructor anchored"><a href="#type-atomic_expr_kind.AO__scoped_atomic_fetch_xor" class="anchor"></a><code><span>| </span><span>`AO__scoped_atomic_fetch_xor</span></code></li><li id="type-atomic_expr_kind.AO__scoped_atomic_fetch_nand" class="def variant constructor anchored"><a href="#type-atomic_expr_kind.AO__scoped_atomic_fetch_nand" class="anchor"></a><code><span>| </span><span>`AO__scoped_atomic_fetch_nand</span></code></li><li id="type-atomic_expr_kind.AO__scoped_atomic_add_fetch" class="def variant constructor anchored"><a href="#type-atomic_expr_kind.AO__scoped_atomic_add_fetch" class="anchor"></a><code><span>| </span><span>`AO__scoped_atomic_add_fetch</span></code></li><li id="type-atomic_expr_kind.AO__scoped_atomic_sub_fetch" class="def variant constructor anchored"><a href="#type-atomic_expr_kind.AO__scoped_atomic_sub_fetch" class="anchor"></a><code><span>| </span><span>`AO__scoped_atomic_sub_fetch</span></code></li><li id="type-atomic_expr_kind.AO__scoped_atomic_and_fetch" class="def variant constructor anchored"><a href="#type-atomic_expr_kind.AO__scoped_atomic_and_fetch" class="anchor"></a><code><span>| </span><span>`AO__scoped_atomic_and_fetch</span></code></li><li id="type-atomic_expr_kind.AO__scoped_atomic_or_fetch" class="def variant constructor anchored"><a href="#type-atomic_expr_kind.AO__scoped_atomic_or_fetch" class="anchor"></a><code><span>| </span><span>`AO__scoped_atomic_or_fetch</span></code></li><li id="type-atomic_expr_kind.AO__scoped_atomic_xor_fetch" class="def variant constructor anchored"><a href="#type-atomic_expr_kind.AO__scoped_atomic_xor_fetch" class="anchor"></a><code><span>| </span><span>`AO__scoped_atomic_xor_fetch</span></code></li><li id="type-atomic_expr_kind.AO__scoped_atomic_max_fetch" class="def variant constructor anchored"><a href="#type-atomic_expr_kind.AO__scoped_atomic_max_fetch" class="anchor"></a><code><span>| </span><span>`AO__scoped_atomic_max_fetch</span></code></li><li id="type-atomic_expr_kind.AO__scoped_atomic_min_fetch" class="def variant constructor anchored"><a href="#type-atomic_expr_kind.AO__scoped_atomic_min_fetch" class="anchor"></a><code><span>| </span><span>`AO__scoped_atomic_min_fetch</span></code></li><li id="type-atomic_expr_kind.AO__scoped_atomic_nand_fetch" class="def variant constructor anchored"><a href="#type-atomic_expr_kind.AO__scoped_atomic_nand_fetch" class="anchor"></a><code><span>| </span><span>`AO__scoped_atomic_nand_fetch</span></code></li><li id="type-atomic_expr_kind.AO__scoped_atomic_fetch_min" class="def variant constructor anchored"><a href="#type-atomic_expr_kind.AO__scoped_atomic_fetch_min" class="anchor"></a><code><span>| </span><span>`AO__scoped_atomic_fetch_min</span></code></li><li id="type-atomic_expr_kind.AO__scoped_atomic_fetch_max" class="def variant constructor anchored"><a href="#type-atomic_expr_kind.AO__scoped_atomic_fetch_max" class="anchor"></a><code><span>| </span><span>`AO__scoped_atomic_fetch_max</span></code></li><li id="type-atomic_expr_kind.AO__opencl_atomic_init" class="def variant constructor anchored"><a href="#type-atomic_expr_kind.AO__opencl_atomic_init" class="anchor"></a><code><span>| </span><span>`AO__opencl_atomic_init</span></code></li><li id="type-atomic_expr_kind.AO__opencl_atomic_load" class="def variant constructor anchored"><a href="#type-atomic_expr_kind.AO__opencl_atomic_load" class="anchor"></a><code><span>| </span><span>`AO__opencl_atomic_load</span></code></li><li id="type-atomic_expr_kind.AO__opencl_atomic_store" class="def variant constructor anchored"><a href="#type-atomic_expr_kind.AO__opencl_atomic_store" class="anchor"></a><code><span>| </span><span>`AO__opencl_atomic_store</span></code></li><li id="type-atomic_expr_kind.AO__opencl_atomic_exchange" class="def variant constructor anchored"><a href="#type-atomic_expr_kind.AO__opencl_atomic_exchange" class="anchor"></a><code><span>| </span><span>`AO__opencl_atomic_exchange</span></code></li><li id="type-atomic_expr_kind.AO__opencl_atomic_compare_exchange_strong" class="def variant constructor anchored"><a href="#type-atomic_expr_kind.AO__opencl_atomic_compare_exchange_strong" class="anchor"></a><code><span>| </span><span>`AO__opencl_atomic_compare_exchange_strong</span></code></li><li id="type-atomic_expr_kind.AO__opencl_atomic_compare_exchange_weak" class="def variant constructor anchored"><a href="#type-atomic_expr_kind.AO__opencl_atomic_compare_exchange_weak" class="anchor"></a><code><span>| </span><span>`AO__opencl_atomic_compare_exchange_weak</span></code></li><li id="type-atomic_expr_kind.AO__opencl_atomic_fetch_add" class="def variant constructor anchored"><a href="#type-atomic_expr_kind.AO__opencl_atomic_fetch_add" class="anchor"></a><code><span>| </span><span>`AO__opencl_atomic_fetch_add</span></code></li><li id="type-atomic_expr_kind.AO__opencl_atomic_fetch_sub" class="def variant constructor anchored"><a href="#type-atomic_expr_kind.AO__opencl_atomic_fetch_sub" class="anchor"></a><code><span>| </span><span>`AO__opencl_atomic_fetch_sub</span></code></li><li id="type-atomic_expr_kind.AO__opencl_atomic_fetch_and" class="def variant constructor anchored"><a href="#type-atomic_expr_kind.AO__opencl_atomic_fetch_and" class="anchor"></a><code><span>| </span><span>`AO__opencl_atomic_fetch_and</span></code></li><li id="type-atomic_expr_kind.AO__opencl_atomic_fetch_or" class="def variant constructor anchored"><a href="#type-atomic_expr_kind.AO__opencl_atomic_fetch_or" class="anchor"></a><code><span>| </span><span>`AO__opencl_atomic_fetch_or</span></code></li><li id="type-atomic_expr_kind.AO__opencl_atomic_fetch_xor" class="def variant constructor anchored"><a href="#type-atomic_expr_kind.AO__opencl_atomic_fetch_xor" class="anchor"></a><code><span>| </span><span>`AO__opencl_atomic_fetch_xor</span></code></li><li id="type-atomic_expr_kind.AO__opencl_atomic_fetch_min" class="def variant constructor anchored"><a href="#type-atomic_expr_kind.AO__opencl_atomic_fetch_min" class="anchor"></a><code><span>| </span><span>`AO__opencl_atomic_fetch_min</span></code></li><li id="type-atomic_expr_kind.AO__opencl_atomic_fetch_max" class="def variant constructor anchored"><a href="#type-atomic_expr_kind.AO__opencl_atomic_fetch_max" class="anchor"></a><code><span>| </span><span>`AO__opencl_atomic_fetch_max</span></code></li><li id="type-atomic_expr_kind.AO__atomic_fetch_min" class="def variant constructor anchored"><a href="#type-atomic_expr_kind.AO__atomic_fetch_min" class="anchor"></a><code><span>| </span><span>`AO__atomic_fetch_min</span></code></li><li id="type-atomic_expr_kind.AO__atomic_fetch_max" class="def variant constructor anchored"><a href="#type-atomic_expr_kind.AO__atomic_fetch_max" class="anchor"></a><code><span>| </span><span>`AO__atomic_fetch_max</span></code></li><li id="type-atomic_expr_kind.AO__hip_atomic_load" class="def variant constructor anchored"><a href="#type-atomic_expr_kind.AO__hip_atomic_load" class="anchor"></a><code><span>| </span><span>`AO__hip_atomic_load</span></code></li><li id="type-atomic_expr_kind.AO__hip_atomic_store" class="def variant constructor anchored"><a href="#type-atomic_expr_kind.AO__hip_atomic_store" class="anchor"></a><code><span>| </span><span>`AO__hip_atomic_store</span></code></li><li id="type-atomic_expr_kind.AO__hip_atomic_compare_exchange_weak" class="def variant constructor anchored"><a href="#type-atomic_expr_kind.AO__hip_atomic_compare_exchange_weak" class="anchor"></a><code><span>| </span><span>`AO__hip_atomic_compare_exchange_weak</span></code></li><li id="type-atomic_expr_kind.AO__hip_atomic_compare_exchange_strong" class="def variant constructor anchored"><a href="#type-atomic_expr_kind.AO__hip_atomic_compare_exchange_strong" class="anchor"></a><code><span>| </span><span>`AO__hip_atomic_compare_exchange_strong</span></code></li><li id="type-atomic_expr_kind.AO__hip_atomic_exchange" class="def variant constructor anchored"><a href="#type-atomic_expr_kind.AO__hip_atomic_exchange" class="anchor"></a><code><span>| </span><span>`AO__hip_atomic_exchange</span></code></li><li id="type-atomic_expr_kind.AO__hip_atomic_fetch_add" class="def variant constructor anchored"><a href="#type-atomic_expr_kind.AO__hip_atomic_fetch_add" class="anchor"></a><code><span>| </span><span>`AO__hip_atomic_fetch_add</span></code></li><li id="type-atomic_expr_kind.AO__hip_atomic_fetch_sub" class="def variant constructor anchored"><a href="#type-atomic_expr_kind.AO__hip_atomic_fetch_sub" class="anchor"></a><code><span>| </span><span>`AO__hip_atomic_fetch_sub</span></code></li><li id="type-atomic_expr_kind.AO__hip_atomic_fetch_and" class="def variant constructor anchored"><a href="#type-atomic_expr_kind.AO__hip_atomic_fetch_and" class="anchor"></a><code><span>| </span><span>`AO__hip_atomic_fetch_and</span></code></li><li id="type-atomic_expr_kind.AO__hip_atomic_fetch_or" class="def variant constructor anchored"><a href="#type-atomic_expr_kind.AO__hip_atomic_fetch_or" class="anchor"></a><code><span>| </span><span>`AO__hip_atomic_fetch_or</span></code></li><li id="type-atomic_expr_kind.AO__hip_atomic_fetch_xor" class="def variant constructor anchored"><a href="#type-atomic_expr_kind.AO__hip_atomic_fetch_xor" class="anchor"></a><code><span>| </span><span>`AO__hip_atomic_fetch_xor</span></code></li><li id="type-atomic_expr_kind.AO__hip_atomic_fetch_min" class="def variant constructor anchored"><a href="#type-atomic_expr_kind.AO__hip_atomic_fetch_min" class="anchor"></a><code><span>| </span><span>`AO__hip_atomic_fetch_min</span></code></li><li id="type-atomic_expr_kind.AO__hip_atomic_fetch_max" class="def variant constructor anchored"><a href="#type-atomic_expr_kind.AO__hip_atomic_fetch_max" class="anchor"></a><code><span>| </span><span>`AO__hip_atomic_fetch_max</span></code></li></ol><code><span> ]</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-atomic_expr_info"><a href="#type-atomic_expr_info" class="anchor"></a><code><span><span class="keyword">type</span> atomic_expr_info</span><span> = </span><span>{</span></code><ol><li id="type-atomic_expr_info.aei_kind" class="def record field anchored"><a href="#type-atomic_expr_info.aei_kind" class="anchor"></a><code><span>aei_kind : <a href="#type-atomic_expr_kind">atomic_expr_kind</a>;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-attribute_kind"><a href="#type-attribute_kind" class="anchor"></a><code><span><span class="keyword">type</span> attribute_kind</span><span> = </span></code><ol><li id="type-attribute_kind.AddressSpaceAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.AddressSpaceAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">AddressSpaceAttrKind</span></span></code></li><li id="type-attribute_kind.AnnotateTypeAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.AnnotateTypeAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">AnnotateTypeAttrKind</span></span></code></li><li id="type-attribute_kind.ArmInAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.ArmInAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">ArmInAttrKind</span></span></code></li><li id="type-attribute_kind.ArmInOutAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.ArmInOutAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">ArmInOutAttrKind</span></span></code></li><li id="type-attribute_kind.ArmMveStrictPolymorphismAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.ArmMveStrictPolymorphismAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">ArmMveStrictPolymorphismAttrKind</span></span></code></li><li id="type-attribute_kind.ArmOutAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.ArmOutAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">ArmOutAttrKind</span></span></code></li><li id="type-attribute_kind.ArmPreservesAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.ArmPreservesAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">ArmPreservesAttrKind</span></span></code></li><li id="type-attribute_kind.ArmStreamingAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.ArmStreamingAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">ArmStreamingAttrKind</span></span></code></li><li id="type-attribute_kind.ArmStreamingCompatibleAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.ArmStreamingCompatibleAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">ArmStreamingCompatibleAttrKind</span></span></code></li><li id="type-attribute_kind.BTFTypeTagAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.BTFTypeTagAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">BTFTypeTagAttrKind</span></span></code></li><li id="type-attribute_kind.CmseNSCallAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.CmseNSCallAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">CmseNSCallAttrKind</span></span></code></li><li id="type-attribute_kind.HLSLGroupSharedAddressSpaceAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.HLSLGroupSharedAddressSpaceAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">HLSLGroupSharedAddressSpaceAttrKind</span></span></code></li><li id="type-attribute_kind.HLSLParamModifierAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.HLSLParamModifierAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">HLSLParamModifierAttrKind</span></span></code></li><li id="type-attribute_kind.NoDerefAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.NoDerefAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">NoDerefAttrKind</span></span></code></li><li id="type-attribute_kind.ObjCGCAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.ObjCGCAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">ObjCGCAttrKind</span></span></code></li><li id="type-attribute_kind.ObjCInertUnsafeUnretainedAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.ObjCInertUnsafeUnretainedAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">ObjCInertUnsafeUnretainedAttrKind</span></span></code></li><li id="type-attribute_kind.ObjCKindOfAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.ObjCKindOfAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">ObjCKindOfAttrKind</span></span></code></li><li id="type-attribute_kind.OpenCLConstantAddressSpaceAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.OpenCLConstantAddressSpaceAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">OpenCLConstantAddressSpaceAttrKind</span></span></code></li><li id="type-attribute_kind.OpenCLGenericAddressSpaceAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.OpenCLGenericAddressSpaceAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">OpenCLGenericAddressSpaceAttrKind</span></span></code></li><li id="type-attribute_kind.OpenCLGlobalAddressSpaceAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.OpenCLGlobalAddressSpaceAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">OpenCLGlobalAddressSpaceAttrKind</span></span></code></li><li id="type-attribute_kind.OpenCLGlobalDeviceAddressSpaceAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.OpenCLGlobalDeviceAddressSpaceAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">OpenCLGlobalDeviceAddressSpaceAttrKind</span></span></code></li><li id="type-attribute_kind.OpenCLGlobalHostAddressSpaceAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.OpenCLGlobalHostAddressSpaceAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">OpenCLGlobalHostAddressSpaceAttrKind</span></span></code></li><li id="type-attribute_kind.OpenCLLocalAddressSpaceAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.OpenCLLocalAddressSpaceAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">OpenCLLocalAddressSpaceAttrKind</span></span></code></li><li id="type-attribute_kind.OpenCLPrivateAddressSpaceAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.OpenCLPrivateAddressSpaceAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">OpenCLPrivateAddressSpaceAttrKind</span></span></code></li><li id="type-attribute_kind.Ptr32AttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.Ptr32AttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">Ptr32AttrKind</span></span></code></li><li id="type-attribute_kind.Ptr64AttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.Ptr64AttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">Ptr64AttrKind</span></span></code></li><li id="type-attribute_kind.SPtrAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.SPtrAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">SPtrAttrKind</span></span></code></li><li id="type-attribute_kind.TypeNonNullAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.TypeNonNullAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">TypeNonNullAttrKind</span></span></code></li><li id="type-attribute_kind.TypeNullUnspecifiedAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.TypeNullUnspecifiedAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">TypeNullUnspecifiedAttrKind</span></span></code></li><li id="type-attribute_kind.TypeNullableAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.TypeNullableAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">TypeNullableAttrKind</span></span></code></li><li id="type-attribute_kind.TypeNullableResultAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.TypeNullableResultAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">TypeNullableResultAttrKind</span></span></code></li><li id="type-attribute_kind.UPtrAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.UPtrAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">UPtrAttrKind</span></span></code></li><li id="type-attribute_kind.WebAssemblyFuncrefAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.WebAssemblyFuncrefAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">WebAssemblyFuncrefAttrKind</span></span></code></li><li id="type-attribute_kind.CodeAlignAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.CodeAlignAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">CodeAlignAttrKind</span></span></code></li><li id="type-attribute_kind.FallThroughAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.FallThroughAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">FallThroughAttrKind</span></span></code></li><li id="type-attribute_kind.LikelyAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.LikelyAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">LikelyAttrKind</span></span></code></li><li id="type-attribute_kind.MustTailAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.MustTailAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">MustTailAttrKind</span></span></code></li><li id="type-attribute_kind.OpenCLUnrollHintAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.OpenCLUnrollHintAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">OpenCLUnrollHintAttrKind</span></span></code></li><li id="type-attribute_kind.UnlikelyAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.UnlikelyAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">UnlikelyAttrKind</span></span></code></li><li id="type-attribute_kind.AlwaysInlineAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.AlwaysInlineAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">AlwaysInlineAttrKind</span></span></code></li><li id="type-attribute_kind.NoInlineAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.NoInlineAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">NoInlineAttrKind</span></span></code></li><li id="type-attribute_kind.NoMergeAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.NoMergeAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">NoMergeAttrKind</span></span></code></li><li id="type-attribute_kind.SuppressAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.SuppressAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">SuppressAttrKind</span></span></code></li><li id="type-attribute_kind.AArch64SVEPcsAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.AArch64SVEPcsAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">AArch64SVEPcsAttrKind</span></span></code></li><li id="type-attribute_kind.AArch64VectorPcsAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.AArch64VectorPcsAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">AArch64VectorPcsAttrKind</span></span></code></li><li id="type-attribute_kind.AMDGPUKernelCallAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.AMDGPUKernelCallAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">AMDGPUKernelCallAttrKind</span></span></code></li><li id="type-attribute_kind.AcquireHandleAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.AcquireHandleAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">AcquireHandleAttrKind</span></span></code></li><li id="type-attribute_kind.AnyX86NoCfCheckAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.AnyX86NoCfCheckAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">AnyX86NoCfCheckAttrKind</span></span></code></li><li id="type-attribute_kind.CDeclAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.CDeclAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">CDeclAttrKind</span></span></code></li><li id="type-attribute_kind.FastCallAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.FastCallAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">FastCallAttrKind</span></span></code></li><li id="type-attribute_kind.IntelOclBiccAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.IntelOclBiccAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">IntelOclBiccAttrKind</span></span></code></li><li id="type-attribute_kind.LifetimeBoundAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.LifetimeBoundAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">LifetimeBoundAttrKind</span></span></code></li><li id="type-attribute_kind.M68kRTDAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.M68kRTDAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">M68kRTDAttrKind</span></span></code></li><li id="type-attribute_kind.MSABIAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.MSABIAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">MSABIAttrKind</span></span></code></li><li id="type-attribute_kind.NSReturnsRetainedAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.NSReturnsRetainedAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">NSReturnsRetainedAttrKind</span></span></code></li><li id="type-attribute_kind.ObjCOwnershipAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.ObjCOwnershipAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">ObjCOwnershipAttrKind</span></span></code></li><li id="type-attribute_kind.PascalAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.PascalAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">PascalAttrKind</span></span></code></li><li id="type-attribute_kind.PcsAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.PcsAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">PcsAttrKind</span></span></code></li><li id="type-attribute_kind.PreserveAllAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.PreserveAllAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">PreserveAllAttrKind</span></span></code></li><li id="type-attribute_kind.PreserveMostAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.PreserveMostAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">PreserveMostAttrKind</span></span></code></li><li id="type-attribute_kind.RegCallAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.RegCallAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">RegCallAttrKind</span></span></code></li><li id="type-attribute_kind.StdCallAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.StdCallAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">StdCallAttrKind</span></span></code></li><li id="type-attribute_kind.SwiftAsyncCallAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.SwiftAsyncCallAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">SwiftAsyncCallAttrKind</span></span></code></li><li id="type-attribute_kind.SwiftCallAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.SwiftCallAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">SwiftCallAttrKind</span></span></code></li><li id="type-attribute_kind.SysVABIAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.SysVABIAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">SysVABIAttrKind</span></span></code></li><li id="type-attribute_kind.ThisCallAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.ThisCallAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">ThisCallAttrKind</span></span></code></li><li id="type-attribute_kind.VectorCallAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.VectorCallAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">VectorCallAttrKind</span></span></code></li><li id="type-attribute_kind.SwiftAsyncContextAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.SwiftAsyncContextAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">SwiftAsyncContextAttrKind</span></span></code></li><li id="type-attribute_kind.SwiftContextAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.SwiftContextAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">SwiftContextAttrKind</span></span></code></li><li id="type-attribute_kind.SwiftErrorResultAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.SwiftErrorResultAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">SwiftErrorResultAttrKind</span></span></code></li><li id="type-attribute_kind.SwiftIndirectResultAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.SwiftIndirectResultAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">SwiftIndirectResultAttrKind</span></span></code></li><li id="type-attribute_kind.AnnotateAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.AnnotateAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">AnnotateAttrKind</span></span></code></li><li id="type-attribute_kind.CFConsumedAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.CFConsumedAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">CFConsumedAttrKind</span></span></code></li><li id="type-attribute_kind.CarriesDependencyAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.CarriesDependencyAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">CarriesDependencyAttrKind</span></span></code></li><li id="type-attribute_kind.NSConsumedAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.NSConsumedAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">NSConsumedAttrKind</span></span></code></li><li id="type-attribute_kind.NonNullAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.NonNullAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">NonNullAttrKind</span></span></code></li><li id="type-attribute_kind.OSConsumedAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.OSConsumedAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">OSConsumedAttrKind</span></span></code></li><li id="type-attribute_kind.PassObjectSizeAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.PassObjectSizeAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">PassObjectSizeAttrKind</span></span></code></li><li id="type-attribute_kind.ReleaseHandleAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.ReleaseHandleAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">ReleaseHandleAttrKind</span></span></code></li><li id="type-attribute_kind.UseHandleAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.UseHandleAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">UseHandleAttrKind</span></span></code></li><li id="type-attribute_kind.HLSLSV_DispatchThreadIDAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.HLSLSV_DispatchThreadIDAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">HLSLSV_DispatchThreadIDAttrKind</span></span></code></li><li id="type-attribute_kind.HLSLSV_GroupIndexAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.HLSLSV_GroupIndexAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">HLSLSV_GroupIndexAttrKind</span></span></code></li><li id="type-attribute_kind.AMDGPUFlatWorkGroupSizeAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.AMDGPUFlatWorkGroupSizeAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">AMDGPUFlatWorkGroupSizeAttrKind</span></span></code></li><li id="type-attribute_kind.AMDGPUNumSGPRAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.AMDGPUNumSGPRAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">AMDGPUNumSGPRAttrKind</span></span></code></li><li id="type-attribute_kind.AMDGPUNumVGPRAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.AMDGPUNumVGPRAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">AMDGPUNumVGPRAttrKind</span></span></code></li><li id="type-attribute_kind.AMDGPUWavesPerEUAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.AMDGPUWavesPerEUAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">AMDGPUWavesPerEUAttrKind</span></span></code></li><li id="type-attribute_kind.ARMInterruptAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.ARMInterruptAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">ARMInterruptAttrKind</span></span></code></li><li id="type-attribute_kind.AVRInterruptAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.AVRInterruptAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">AVRInterruptAttrKind</span></span></code></li><li id="type-attribute_kind.AVRSignalAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.AVRSignalAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">AVRSignalAttrKind</span></span></code></li><li id="type-attribute_kind.AcquireCapabilityAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.AcquireCapabilityAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">AcquireCapabilityAttrKind</span></span></code></li><li id="type-attribute_kind.AcquiredAfterAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.AcquiredAfterAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">AcquiredAfterAttrKind</span></span></code></li><li id="type-attribute_kind.AcquiredBeforeAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.AcquiredBeforeAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">AcquiredBeforeAttrKind</span></span></code></li><li id="type-attribute_kind.AlignMac68kAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.AlignMac68kAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">AlignMac68kAttrKind</span></span></code></li><li id="type-attribute_kind.AlignNaturalAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.AlignNaturalAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">AlignNaturalAttrKind</span></span></code></li><li id="type-attribute_kind.AlignedAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.AlignedAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">AlignedAttrKind</span></span></code></li><li id="type-attribute_kind.AllocAlignAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.AllocAlignAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">AllocAlignAttrKind</span></span></code></li><li id="type-attribute_kind.AllocSizeAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.AllocSizeAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">AllocSizeAttrKind</span></span></code></li><li id="type-attribute_kind.AlwaysDestroyAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.AlwaysDestroyAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">AlwaysDestroyAttrKind</span></span></code></li><li id="type-attribute_kind.AnalyzerNoReturnAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.AnalyzerNoReturnAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">AnalyzerNoReturnAttrKind</span></span></code></li><li id="type-attribute_kind.AnyX86InterruptAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.AnyX86InterruptAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">AnyX86InterruptAttrKind</span></span></code></li><li id="type-attribute_kind.AnyX86NoCallerSavedRegistersAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.AnyX86NoCallerSavedRegistersAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">AnyX86NoCallerSavedRegistersAttrKind</span></span></code></li><li id="type-attribute_kind.ArcWeakrefUnavailableAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.ArcWeakrefUnavailableAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">ArcWeakrefUnavailableAttrKind</span></span></code></li><li id="type-attribute_kind.ArgumentWithTypeTagAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.ArgumentWithTypeTagAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">ArgumentWithTypeTagAttrKind</span></span></code></li><li id="type-attribute_kind.ArmBuiltinAliasAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.ArmBuiltinAliasAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">ArmBuiltinAliasAttrKind</span></span></code></li><li id="type-attribute_kind.ArmLocallyStreamingAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.ArmLocallyStreamingAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">ArmLocallyStreamingAttrKind</span></span></code></li><li id="type-attribute_kind.ArmNewAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.ArmNewAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">ArmNewAttrKind</span></span></code></li><li id="type-attribute_kind.ArtificialAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.ArtificialAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">ArtificialAttrKind</span></span></code></li><li id="type-attribute_kind.AsmLabelAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.AsmLabelAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">AsmLabelAttrKind</span></span></code></li><li id="type-attribute_kind.AssertCapabilityAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.AssertCapabilityAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">AssertCapabilityAttrKind</span></span></code></li><li id="type-attribute_kind.AssertExclusiveLockAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.AssertExclusiveLockAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">AssertExclusiveLockAttrKind</span></span></code></li><li id="type-attribute_kind.AssertSharedLockAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.AssertSharedLockAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">AssertSharedLockAttrKind</span></span></code></li><li id="type-attribute_kind.AssumeAlignedAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.AssumeAlignedAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">AssumeAlignedAttrKind</span></span></code></li><li id="type-attribute_kind.AssumptionAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.AssumptionAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">AssumptionAttrKind</span></span></code></li><li id="type-attribute_kind.AvailabilityAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.AvailabilityAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">AvailabilityAttrKind</span></span></code></li><li id="type-attribute_kind.AvailableOnlyInDefaultEvalMethodAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.AvailableOnlyInDefaultEvalMethodAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">AvailableOnlyInDefaultEvalMethodAttrKind</span></span></code></li><li id="type-attribute_kind.BPFPreserveAccessIndexAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.BPFPreserveAccessIndexAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">BPFPreserveAccessIndexAttrKind</span></span></code></li><li id="type-attribute_kind.BPFPreserveStaticOffsetAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.BPFPreserveStaticOffsetAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">BPFPreserveStaticOffsetAttrKind</span></span></code></li><li id="type-attribute_kind.BTFDeclTagAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.BTFDeclTagAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">BTFDeclTagAttrKind</span></span></code></li><li id="type-attribute_kind.BlocksAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.BlocksAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">BlocksAttrKind</span></span></code></li><li id="type-attribute_kind.BuiltinAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.BuiltinAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">BuiltinAttrKind</span></span></code></li><li id="type-attribute_kind.C11NoReturnAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.C11NoReturnAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">C11NoReturnAttrKind</span></span></code></li><li id="type-attribute_kind.CFAuditedTransferAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.CFAuditedTransferAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">CFAuditedTransferAttrKind</span></span></code></li><li id="type-attribute_kind.CFGuardAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.CFGuardAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">CFGuardAttrKind</span></span></code></li><li id="type-attribute_kind.CFICanonicalJumpTableAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.CFICanonicalJumpTableAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">CFICanonicalJumpTableAttrKind</span></span></code></li><li id="type-attribute_kind.CFReturnsNotRetainedAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.CFReturnsNotRetainedAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">CFReturnsNotRetainedAttrKind</span></span></code></li><li id="type-attribute_kind.CFReturnsRetainedAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.CFReturnsRetainedAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">CFReturnsRetainedAttrKind</span></span></code></li><li id="type-attribute_kind.CFUnknownTransferAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.CFUnknownTransferAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">CFUnknownTransferAttrKind</span></span></code></li><li id="type-attribute_kind.CPUDispatchAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.CPUDispatchAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">CPUDispatchAttrKind</span></span></code></li><li id="type-attribute_kind.CPUSpecificAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.CPUSpecificAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">CPUSpecificAttrKind</span></span></code></li><li id="type-attribute_kind.CUDAConstantAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.CUDAConstantAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">CUDAConstantAttrKind</span></span></code></li><li id="type-attribute_kind.CUDADeviceAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.CUDADeviceAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">CUDADeviceAttrKind</span></span></code></li><li id="type-attribute_kind.CUDADeviceBuiltinSurfaceTypeAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.CUDADeviceBuiltinSurfaceTypeAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">CUDADeviceBuiltinSurfaceTypeAttrKind</span></span></code></li><li id="type-attribute_kind.CUDADeviceBuiltinTextureTypeAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.CUDADeviceBuiltinTextureTypeAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">CUDADeviceBuiltinTextureTypeAttrKind</span></span></code></li><li id="type-attribute_kind.CUDAGlobalAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.CUDAGlobalAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">CUDAGlobalAttrKind</span></span></code></li><li id="type-attribute_kind.CUDAHostAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.CUDAHostAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">CUDAHostAttrKind</span></span></code></li><li id="type-attribute_kind.CUDAInvalidTargetAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.CUDAInvalidTargetAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">CUDAInvalidTargetAttrKind</span></span></code></li><li id="type-attribute_kind.CUDALaunchBoundsAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.CUDALaunchBoundsAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">CUDALaunchBoundsAttrKind</span></span></code></li><li id="type-attribute_kind.CUDASharedAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.CUDASharedAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">CUDASharedAttrKind</span></span></code></li><li id="type-attribute_kind.CXX11NoReturnAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.CXX11NoReturnAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">CXX11NoReturnAttrKind</span></span></code></li><li id="type-attribute_kind.CallableWhenAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.CallableWhenAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">CallableWhenAttrKind</span></span></code></li><li id="type-attribute_kind.CallbackAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.CallbackAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">CallbackAttrKind</span></span></code></li><li id="type-attribute_kind.CapabilityAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.CapabilityAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">CapabilityAttrKind</span></span></code></li><li id="type-attribute_kind.CapturedRecordAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.CapturedRecordAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">CapturedRecordAttrKind</span></span></code></li><li id="type-attribute_kind.CleanupAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.CleanupAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">CleanupAttrKind</span></span></code></li><li id="type-attribute_kind.CmseNSEntryAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.CmseNSEntryAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">CmseNSEntryAttrKind</span></span></code></li><li id="type-attribute_kind.CodeModelAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.CodeModelAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">CodeModelAttrKind</span></span></code></li><li id="type-attribute_kind.CodeSegAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.CodeSegAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">CodeSegAttrKind</span></span></code></li><li id="type-attribute_kind.ColdAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.ColdAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">ColdAttrKind</span></span></code></li><li id="type-attribute_kind.CommonAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.CommonAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">CommonAttrKind</span></span></code></li><li id="type-attribute_kind.ConstAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.ConstAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">ConstAttrKind</span></span></code></li><li id="type-attribute_kind.ConstInitAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.ConstInitAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">ConstInitAttrKind</span></span></code></li><li id="type-attribute_kind.ConstructorAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.ConstructorAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">ConstructorAttrKind</span></span></code></li><li id="type-attribute_kind.ConsumableAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.ConsumableAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">ConsumableAttrKind</span></span></code></li><li id="type-attribute_kind.ConsumableAutoCastAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.ConsumableAutoCastAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">ConsumableAutoCastAttrKind</span></span></code></li><li id="type-attribute_kind.ConsumableSetOnReadAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.ConsumableSetOnReadAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">ConsumableSetOnReadAttrKind</span></span></code></li><li id="type-attribute_kind.ConvergentAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.ConvergentAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">ConvergentAttrKind</span></span></code></li><li id="type-attribute_kind.CoroDisableLifetimeBoundAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.CoroDisableLifetimeBoundAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">CoroDisableLifetimeBoundAttrKind</span></span></code></li><li id="type-attribute_kind.CoroLifetimeBoundAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.CoroLifetimeBoundAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">CoroLifetimeBoundAttrKind</span></span></code></li><li id="type-attribute_kind.CoroOnlyDestroyWhenCompleteAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.CoroOnlyDestroyWhenCompleteAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">CoroOnlyDestroyWhenCompleteAttrKind</span></span></code></li><li id="type-attribute_kind.CoroReturnTypeAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.CoroReturnTypeAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">CoroReturnTypeAttrKind</span></span></code></li><li id="type-attribute_kind.CoroWrapperAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.CoroWrapperAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">CoroWrapperAttrKind</span></span></code></li><li id="type-attribute_kind.CountedByAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.CountedByAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">CountedByAttrKind</span></span></code></li><li id="type-attribute_kind.DLLExportAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.DLLExportAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">DLLExportAttrKind</span></span></code></li><li id="type-attribute_kind.DLLExportStaticLocalAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.DLLExportStaticLocalAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">DLLExportStaticLocalAttrKind</span></span></code></li><li id="type-attribute_kind.DLLImportAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.DLLImportAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">DLLImportAttrKind</span></span></code></li><li id="type-attribute_kind.DLLImportStaticLocalAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.DLLImportStaticLocalAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">DLLImportStaticLocalAttrKind</span></span></code></li><li id="type-attribute_kind.DeprecatedAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.DeprecatedAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">DeprecatedAttrKind</span></span></code></li><li id="type-attribute_kind.DestructorAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.DestructorAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">DestructorAttrKind</span></span></code></li><li id="type-attribute_kind.DiagnoseAsBuiltinAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.DiagnoseAsBuiltinAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">DiagnoseAsBuiltinAttrKind</span></span></code></li><li id="type-attribute_kind.DiagnoseIfAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.DiagnoseIfAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">DiagnoseIfAttrKind</span></span></code></li><li id="type-attribute_kind.DisableSanitizerInstrumentationAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.DisableSanitizerInstrumentationAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">DisableSanitizerInstrumentationAttrKind</span></span></code></li><li id="type-attribute_kind.DisableTailCallsAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.DisableTailCallsAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">DisableTailCallsAttrKind</span></span></code></li><li id="type-attribute_kind.EmptyBasesAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.EmptyBasesAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">EmptyBasesAttrKind</span></span></code></li><li id="type-attribute_kind.EnableIfAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.EnableIfAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">EnableIfAttrKind</span></span></code></li><li id="type-attribute_kind.EnforceTCBAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.EnforceTCBAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">EnforceTCBAttrKind</span></span></code></li><li id="type-attribute_kind.EnforceTCBLeafAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.EnforceTCBLeafAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">EnforceTCBLeafAttrKind</span></span></code></li><li id="type-attribute_kind.EnumExtensibilityAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.EnumExtensibilityAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">EnumExtensibilityAttrKind</span></span></code></li><li id="type-attribute_kind.ErrorAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.ErrorAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">ErrorAttrKind</span></span></code></li><li id="type-attribute_kind.ExcludeFromExplicitInstantiationAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.ExcludeFromExplicitInstantiationAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">ExcludeFromExplicitInstantiationAttrKind</span></span></code></li><li id="type-attribute_kind.ExclusiveTrylockFunctionAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.ExclusiveTrylockFunctionAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">ExclusiveTrylockFunctionAttrKind</span></span></code></li><li id="type-attribute_kind.ExternalSourceSymbolAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.ExternalSourceSymbolAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">ExternalSourceSymbolAttrKind</span></span></code></li><li id="type-attribute_kind.FinalAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.FinalAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">FinalAttrKind</span></span></code></li><li id="type-attribute_kind.FlagEnumAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.FlagEnumAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">FlagEnumAttrKind</span></span></code></li><li id="type-attribute_kind.FlattenAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.FlattenAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">FlattenAttrKind</span></span></code></li><li id="type-attribute_kind.FormatAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.FormatAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">FormatAttrKind</span></span></code></li><li id="type-attribute_kind.FormatArgAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.FormatArgAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">FormatArgAttrKind</span></span></code></li><li id="type-attribute_kind.FunctionReturnThunksAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.FunctionReturnThunksAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">FunctionReturnThunksAttrKind</span></span></code></li><li id="type-attribute_kind.GNUInlineAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.GNUInlineAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">GNUInlineAttrKind</span></span></code></li><li id="type-attribute_kind.GuardedByAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.GuardedByAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">GuardedByAttrKind</span></span></code></li><li id="type-attribute_kind.GuardedVarAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.GuardedVarAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">GuardedVarAttrKind</span></span></code></li><li id="type-attribute_kind.HIPManagedAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.HIPManagedAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">HIPManagedAttrKind</span></span></code></li><li id="type-attribute_kind.HLSLNumThreadsAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.HLSLNumThreadsAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">HLSLNumThreadsAttrKind</span></span></code></li><li id="type-attribute_kind.HLSLResourceAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.HLSLResourceAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">HLSLResourceAttrKind</span></span></code></li><li id="type-attribute_kind.HLSLResourceBindingAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.HLSLResourceBindingAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">HLSLResourceBindingAttrKind</span></span></code></li><li id="type-attribute_kind.HLSLShaderAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.HLSLShaderAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">HLSLShaderAttrKind</span></span></code></li><li id="type-attribute_kind.HotAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.HotAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">HotAttrKind</span></span></code></li><li id="type-attribute_kind.IBActionAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.IBActionAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">IBActionAttrKind</span></span></code></li><li id="type-attribute_kind.IBOutletAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.IBOutletAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">IBOutletAttrKind</span></span></code></li><li id="type-attribute_kind.IBOutletCollectionAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.IBOutletCollectionAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">IBOutletCollectionAttrKind</span></span></code></li><li id="type-attribute_kind.InitPriorityAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.InitPriorityAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">InitPriorityAttrKind</span></span></code></li><li id="type-attribute_kind.InternalLinkageAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.InternalLinkageAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">InternalLinkageAttrKind</span></span></code></li><li id="type-attribute_kind.LTOVisibilityPublicAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.LTOVisibilityPublicAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">LTOVisibilityPublicAttrKind</span></span></code></li><li id="type-attribute_kind.LayoutVersionAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.LayoutVersionAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">LayoutVersionAttrKind</span></span></code></li><li id="type-attribute_kind.LeafAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.LeafAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">LeafAttrKind</span></span></code></li><li id="type-attribute_kind.LockReturnedAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.LockReturnedAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">LockReturnedAttrKind</span></span></code></li><li id="type-attribute_kind.LocksExcludedAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.LocksExcludedAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">LocksExcludedAttrKind</span></span></code></li><li id="type-attribute_kind.M68kInterruptAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.M68kInterruptAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">M68kInterruptAttrKind</span></span></code></li><li id="type-attribute_kind.MIGServerRoutineAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.MIGServerRoutineAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">MIGServerRoutineAttrKind</span></span></code></li><li id="type-attribute_kind.MSAllocatorAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.MSAllocatorAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">MSAllocatorAttrKind</span></span></code></li><li id="type-attribute_kind.MSConstexprAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.MSConstexprAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">MSConstexprAttrKind</span></span></code></li><li id="type-attribute_kind.MSInheritanceAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.MSInheritanceAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">MSInheritanceAttrKind</span></span></code></li><li id="type-attribute_kind.MSNoVTableAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.MSNoVTableAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">MSNoVTableAttrKind</span></span></code></li><li id="type-attribute_kind.MSP430InterruptAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.MSP430InterruptAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">MSP430InterruptAttrKind</span></span></code></li><li id="type-attribute_kind.MSStructAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.MSStructAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">MSStructAttrKind</span></span></code></li><li id="type-attribute_kind.MSVtorDispAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.MSVtorDispAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">MSVtorDispAttrKind</span></span></code></li><li id="type-attribute_kind.MaxFieldAlignmentAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.MaxFieldAlignmentAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">MaxFieldAlignmentAttrKind</span></span></code></li><li id="type-attribute_kind.MayAliasAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.MayAliasAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">MayAliasAttrKind</span></span></code></li><li id="type-attribute_kind.MaybeUndefAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.MaybeUndefAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">MaybeUndefAttrKind</span></span></code></li><li id="type-attribute_kind.MicroMipsAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.MicroMipsAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">MicroMipsAttrKind</span></span></code></li><li id="type-attribute_kind.MinSizeAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.MinSizeAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">MinSizeAttrKind</span></span></code></li><li id="type-attribute_kind.MinVectorWidthAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.MinVectorWidthAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">MinVectorWidthAttrKind</span></span></code></li><li id="type-attribute_kind.Mips16AttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.Mips16AttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">Mips16AttrKind</span></span></code></li><li id="type-attribute_kind.MipsInterruptAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.MipsInterruptAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">MipsInterruptAttrKind</span></span></code></li><li id="type-attribute_kind.MipsLongCallAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.MipsLongCallAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">MipsLongCallAttrKind</span></span></code></li><li id="type-attribute_kind.MipsShortCallAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.MipsShortCallAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">MipsShortCallAttrKind</span></span></code></li><li id="type-attribute_kind.NSConsumesSelfAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.NSConsumesSelfAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">NSConsumesSelfAttrKind</span></span></code></li><li id="type-attribute_kind.NSErrorDomainAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.NSErrorDomainAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">NSErrorDomainAttrKind</span></span></code></li><li id="type-attribute_kind.NSReturnsAutoreleasedAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.NSReturnsAutoreleasedAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">NSReturnsAutoreleasedAttrKind</span></span></code></li><li id="type-attribute_kind.NSReturnsNotRetainedAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.NSReturnsNotRetainedAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">NSReturnsNotRetainedAttrKind</span></span></code></li><li id="type-attribute_kind.NVPTXKernelAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.NVPTXKernelAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">NVPTXKernelAttrKind</span></span></code></li><li id="type-attribute_kind.NakedAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.NakedAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">NakedAttrKind</span></span></code></li><li id="type-attribute_kind.NoAliasAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.NoAliasAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">NoAliasAttrKind</span></span></code></li><li id="type-attribute_kind.NoCommonAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.NoCommonAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">NoCommonAttrKind</span></span></code></li><li id="type-attribute_kind.NoDebugAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.NoDebugAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">NoDebugAttrKind</span></span></code></li><li id="type-attribute_kind.NoDestroyAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.NoDestroyAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">NoDestroyAttrKind</span></span></code></li><li id="type-attribute_kind.NoDuplicateAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.NoDuplicateAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">NoDuplicateAttrKind</span></span></code></li><li id="type-attribute_kind.NoInstrumentFunctionAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.NoInstrumentFunctionAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">NoInstrumentFunctionAttrKind</span></span></code></li><li id="type-attribute_kind.NoMicroMipsAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.NoMicroMipsAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">NoMicroMipsAttrKind</span></span></code></li><li id="type-attribute_kind.NoMips16AttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.NoMips16AttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">NoMips16AttrKind</span></span></code></li><li id="type-attribute_kind.NoProfileFunctionAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.NoProfileFunctionAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">NoProfileFunctionAttrKind</span></span></code></li><li id="type-attribute_kind.NoRandomizeLayoutAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.NoRandomizeLayoutAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">NoRandomizeLayoutAttrKind</span></span></code></li><li id="type-attribute_kind.NoReturnAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.NoReturnAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">NoReturnAttrKind</span></span></code></li><li id="type-attribute_kind.NoSanitizeAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.NoSanitizeAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">NoSanitizeAttrKind</span></span></code></li><li id="type-attribute_kind.NoSpeculativeLoadHardeningAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.NoSpeculativeLoadHardeningAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">NoSpeculativeLoadHardeningAttrKind</span></span></code></li><li id="type-attribute_kind.NoSplitStackAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.NoSplitStackAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">NoSplitStackAttrKind</span></span></code></li><li id="type-attribute_kind.NoStackProtectorAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.NoStackProtectorAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">NoStackProtectorAttrKind</span></span></code></li><li id="type-attribute_kind.NoThreadSafetyAnalysisAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.NoThreadSafetyAnalysisAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">NoThreadSafetyAnalysisAttrKind</span></span></code></li><li id="type-attribute_kind.NoThrowAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.NoThrowAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">NoThrowAttrKind</span></span></code></li><li id="type-attribute_kind.NoUniqueAddressAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.NoUniqueAddressAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">NoUniqueAddressAttrKind</span></span></code></li><li id="type-attribute_kind.NoUwtableAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.NoUwtableAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">NoUwtableAttrKind</span></span></code></li><li id="type-attribute_kind.NotTailCalledAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.NotTailCalledAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">NotTailCalledAttrKind</span></span></code></li><li id="type-attribute_kind.OMPAllocateDeclAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.OMPAllocateDeclAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">OMPAllocateDeclAttrKind</span></span></code></li><li id="type-attribute_kind.OMPCaptureNoInitAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.OMPCaptureNoInitAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">OMPCaptureNoInitAttrKind</span></span></code></li><li id="type-attribute_kind.OMPDeclareTargetDeclAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.OMPDeclareTargetDeclAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">OMPDeclareTargetDeclAttrKind</span></span></code></li><li id="type-attribute_kind.OMPDeclareVariantAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.OMPDeclareVariantAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">OMPDeclareVariantAttrKind</span></span></code></li><li id="type-attribute_kind.OMPThreadPrivateDeclAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.OMPThreadPrivateDeclAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">OMPThreadPrivateDeclAttrKind</span></span></code></li><li id="type-attribute_kind.OSConsumesThisAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.OSConsumesThisAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">OSConsumesThisAttrKind</span></span></code></li><li id="type-attribute_kind.OSReturnsNotRetainedAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.OSReturnsNotRetainedAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">OSReturnsNotRetainedAttrKind</span></span></code></li><li id="type-attribute_kind.OSReturnsRetainedAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.OSReturnsRetainedAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">OSReturnsRetainedAttrKind</span></span></code></li><li id="type-attribute_kind.OSReturnsRetainedOnNonZeroAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.OSReturnsRetainedOnNonZeroAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">OSReturnsRetainedOnNonZeroAttrKind</span></span></code></li><li id="type-attribute_kind.OSReturnsRetainedOnZeroAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.OSReturnsRetainedOnZeroAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">OSReturnsRetainedOnZeroAttrKind</span></span></code></li><li id="type-attribute_kind.ObjCBridgeAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.ObjCBridgeAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">ObjCBridgeAttrKind</span></span></code></li><li id="type-attribute_kind.ObjCBridgeMutableAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.ObjCBridgeMutableAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">ObjCBridgeMutableAttrKind</span></span></code></li><li id="type-attribute_kind.ObjCBridgeRelatedAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.ObjCBridgeRelatedAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">ObjCBridgeRelatedAttrKind</span></span></code></li><li id="type-attribute_kind.ObjCExceptionAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.ObjCExceptionAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">ObjCExceptionAttrKind</span></span></code></li><li id="type-attribute_kind.ObjCExplicitProtocolImplAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.ObjCExplicitProtocolImplAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">ObjCExplicitProtocolImplAttrKind</span></span></code></li><li id="type-attribute_kind.ObjCExternallyRetainedAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.ObjCExternallyRetainedAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">ObjCExternallyRetainedAttrKind</span></span></code></li><li id="type-attribute_kind.ObjCIndependentClassAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.ObjCIndependentClassAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">ObjCIndependentClassAttrKind</span></span></code></li><li id="type-attribute_kind.ObjCMethodFamilyAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.ObjCMethodFamilyAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">ObjCMethodFamilyAttrKind</span></span></code></li><li id="type-attribute_kind.ObjCNSObjectAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.ObjCNSObjectAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">ObjCNSObjectAttrKind</span></span></code></li><li id="type-attribute_kind.ObjCPreciseLifetimeAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.ObjCPreciseLifetimeAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">ObjCPreciseLifetimeAttrKind</span></span></code></li><li id="type-attribute_kind.ObjCRequiresPropertyDefsAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.ObjCRequiresPropertyDefsAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">ObjCRequiresPropertyDefsAttrKind</span></span></code></li><li id="type-attribute_kind.ObjCRequiresSuperAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.ObjCRequiresSuperAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">ObjCRequiresSuperAttrKind</span></span></code></li><li id="type-attribute_kind.ObjCReturnsInnerPointerAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.ObjCReturnsInnerPointerAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">ObjCReturnsInnerPointerAttrKind</span></span></code></li><li id="type-attribute_kind.ObjCRootClassAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.ObjCRootClassAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">ObjCRootClassAttrKind</span></span></code></li><li id="type-attribute_kind.ObjCSubclassingRestrictedAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.ObjCSubclassingRestrictedAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">ObjCSubclassingRestrictedAttrKind</span></span></code></li><li id="type-attribute_kind.OpenCLIntelReqdSubGroupSizeAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.OpenCLIntelReqdSubGroupSizeAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">OpenCLIntelReqdSubGroupSizeAttrKind</span></span></code></li><li id="type-attribute_kind.OpenCLKernelAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.OpenCLKernelAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">OpenCLKernelAttrKind</span></span></code></li><li id="type-attribute_kind.OptimizeNoneAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.OptimizeNoneAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">OptimizeNoneAttrKind</span></span></code></li><li id="type-attribute_kind.OverrideAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.OverrideAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">OverrideAttrKind</span></span></code></li><li id="type-attribute_kind.OwnerAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.OwnerAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">OwnerAttrKind</span></span></code></li><li id="type-attribute_kind.OwnershipAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.OwnershipAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">OwnershipAttrKind</span></span></code></li><li id="type-attribute_kind.PackedAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.PackedAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">PackedAttrKind</span></span></code></li><li id="type-attribute_kind.ParamTypestateAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.ParamTypestateAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">ParamTypestateAttrKind</span></span></code></li><li id="type-attribute_kind.PatchableFunctionEntryAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.PatchableFunctionEntryAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">PatchableFunctionEntryAttrKind</span></span></code></li><li id="type-attribute_kind.PointerAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.PointerAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">PointerAttrKind</span></span></code></li><li id="type-attribute_kind.PragmaClangBSSSectionAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.PragmaClangBSSSectionAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">PragmaClangBSSSectionAttrKind</span></span></code></li><li id="type-attribute_kind.PragmaClangDataSectionAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.PragmaClangDataSectionAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">PragmaClangDataSectionAttrKind</span></span></code></li><li id="type-attribute_kind.PragmaClangRelroSectionAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.PragmaClangRelroSectionAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">PragmaClangRelroSectionAttrKind</span></span></code></li><li id="type-attribute_kind.PragmaClangRodataSectionAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.PragmaClangRodataSectionAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">PragmaClangRodataSectionAttrKind</span></span></code></li><li id="type-attribute_kind.PragmaClangTextSectionAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.PragmaClangTextSectionAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">PragmaClangTextSectionAttrKind</span></span></code></li><li id="type-attribute_kind.PreferredNameAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.PreferredNameAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">PreferredNameAttrKind</span></span></code></li><li id="type-attribute_kind.PreferredTypeAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.PreferredTypeAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">PreferredTypeAttrKind</span></span></code></li><li id="type-attribute_kind.PtGuardedByAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.PtGuardedByAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">PtGuardedByAttrKind</span></span></code></li><li id="type-attribute_kind.PtGuardedVarAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.PtGuardedVarAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">PtGuardedVarAttrKind</span></span></code></li><li id="type-attribute_kind.PureAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.PureAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">PureAttrKind</span></span></code></li><li id="type-attribute_kind.RISCVInterruptAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.RISCVInterruptAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">RISCVInterruptAttrKind</span></span></code></li><li id="type-attribute_kind.RandomizeLayoutAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.RandomizeLayoutAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">RandomizeLayoutAttrKind</span></span></code></li><li id="type-attribute_kind.ReadOnlyPlacementAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.ReadOnlyPlacementAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">ReadOnlyPlacementAttrKind</span></span></code></li><li id="type-attribute_kind.ReinitializesAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.ReinitializesAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">ReinitializesAttrKind</span></span></code></li><li id="type-attribute_kind.ReleaseCapabilityAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.ReleaseCapabilityAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">ReleaseCapabilityAttrKind</span></span></code></li><li id="type-attribute_kind.ReqdWorkGroupSizeAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.ReqdWorkGroupSizeAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">ReqdWorkGroupSizeAttrKind</span></span></code></li><li id="type-attribute_kind.RequiresCapabilityAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.RequiresCapabilityAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">RequiresCapabilityAttrKind</span></span></code></li><li id="type-attribute_kind.RestrictAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.RestrictAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">RestrictAttrKind</span></span></code></li><li id="type-attribute_kind.RetainAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.RetainAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">RetainAttrKind</span></span></code></li><li id="type-attribute_kind.ReturnTypestateAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.ReturnTypestateAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">ReturnTypestateAttrKind</span></span></code></li><li id="type-attribute_kind.ReturnsNonNullAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.ReturnsNonNullAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">ReturnsNonNullAttrKind</span></span></code></li><li id="type-attribute_kind.ReturnsTwiceAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.ReturnsTwiceAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">ReturnsTwiceAttrKind</span></span></code></li><li id="type-attribute_kind.SYCLKernelAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.SYCLKernelAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">SYCLKernelAttrKind</span></span></code></li><li id="type-attribute_kind.SYCLSpecialClassAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.SYCLSpecialClassAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">SYCLSpecialClassAttrKind</span></span></code></li><li id="type-attribute_kind.ScopedLockableAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.ScopedLockableAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">ScopedLockableAttrKind</span></span></code></li><li id="type-attribute_kind.SectionAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.SectionAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">SectionAttrKind</span></span></code></li><li id="type-attribute_kind.SelectAnyAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.SelectAnyAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">SelectAnyAttrKind</span></span></code></li><li id="type-attribute_kind.SentinelAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.SentinelAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">SentinelAttrKind</span></span></code></li><li id="type-attribute_kind.SetTypestateAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.SetTypestateAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">SetTypestateAttrKind</span></span></code></li><li id="type-attribute_kind.SharedTrylockFunctionAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.SharedTrylockFunctionAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">SharedTrylockFunctionAttrKind</span></span></code></li><li id="type-attribute_kind.SpeculativeLoadHardeningAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.SpeculativeLoadHardeningAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">SpeculativeLoadHardeningAttrKind</span></span></code></li><li id="type-attribute_kind.StandaloneDebugAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.StandaloneDebugAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">StandaloneDebugAttrKind</span></span></code></li><li id="type-attribute_kind.StrictFPAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.StrictFPAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">StrictFPAttrKind</span></span></code></li><li id="type-attribute_kind.StrictGuardStackCheckAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.StrictGuardStackCheckAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">StrictGuardStackCheckAttrKind</span></span></code></li><li id="type-attribute_kind.SwiftAsyncAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.SwiftAsyncAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">SwiftAsyncAttrKind</span></span></code></li><li id="type-attribute_kind.SwiftAsyncErrorAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.SwiftAsyncErrorAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">SwiftAsyncErrorAttrKind</span></span></code></li><li id="type-attribute_kind.SwiftAsyncNameAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.SwiftAsyncNameAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">SwiftAsyncNameAttrKind</span></span></code></li><li id="type-attribute_kind.SwiftAttrAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.SwiftAttrAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">SwiftAttrAttrKind</span></span></code></li><li id="type-attribute_kind.SwiftBridgeAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.SwiftBridgeAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">SwiftBridgeAttrKind</span></span></code></li><li id="type-attribute_kind.SwiftBridgedTypedefAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.SwiftBridgedTypedefAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">SwiftBridgedTypedefAttrKind</span></span></code></li><li id="type-attribute_kind.SwiftErrorAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.SwiftErrorAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">SwiftErrorAttrKind</span></span></code></li><li id="type-attribute_kind.SwiftImportAsNonGenericAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.SwiftImportAsNonGenericAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">SwiftImportAsNonGenericAttrKind</span></span></code></li><li id="type-attribute_kind.SwiftImportPropertyAsAccessorsAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.SwiftImportPropertyAsAccessorsAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">SwiftImportPropertyAsAccessorsAttrKind</span></span></code></li><li id="type-attribute_kind.SwiftNameAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.SwiftNameAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">SwiftNameAttrKind</span></span></code></li><li id="type-attribute_kind.SwiftNewTypeAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.SwiftNewTypeAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">SwiftNewTypeAttrKind</span></span></code></li><li id="type-attribute_kind.SwiftPrivateAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.SwiftPrivateAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">SwiftPrivateAttrKind</span></span></code></li><li id="type-attribute_kind.TLSModelAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.TLSModelAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">TLSModelAttrKind</span></span></code></li><li id="type-attribute_kind.TargetAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.TargetAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">TargetAttrKind</span></span></code></li><li id="type-attribute_kind.TargetClonesAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.TargetClonesAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">TargetClonesAttrKind</span></span></code></li><li id="type-attribute_kind.TargetVersionAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.TargetVersionAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">TargetVersionAttrKind</span></span></code></li><li id="type-attribute_kind.TestTypestateAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.TestTypestateAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">TestTypestateAttrKind</span></span></code></li><li id="type-attribute_kind.TransparentUnionAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.TransparentUnionAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">TransparentUnionAttrKind</span></span></code></li><li id="type-attribute_kind.TrivialABIAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.TrivialABIAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">TrivialABIAttrKind</span></span></code></li><li id="type-attribute_kind.TryAcquireCapabilityAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.TryAcquireCapabilityAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">TryAcquireCapabilityAttrKind</span></span></code></li><li id="type-attribute_kind.TypeTagForDatatypeAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.TypeTagForDatatypeAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">TypeTagForDatatypeAttrKind</span></span></code></li><li id="type-attribute_kind.TypeVisibilityAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.TypeVisibilityAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">TypeVisibilityAttrKind</span></span></code></li><li id="type-attribute_kind.UnavailableAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.UnavailableAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">UnavailableAttrKind</span></span></code></li><li id="type-attribute_kind.UninitializedAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.UninitializedAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">UninitializedAttrKind</span></span></code></li><li id="type-attribute_kind.UnsafeBufferUsageAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.UnsafeBufferUsageAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">UnsafeBufferUsageAttrKind</span></span></code></li><li id="type-attribute_kind.UnusedAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.UnusedAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">UnusedAttrKind</span></span></code></li><li id="type-attribute_kind.UsedAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.UsedAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">UsedAttrKind</span></span></code></li><li id="type-attribute_kind.UsingIfExistsAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.UsingIfExistsAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">UsingIfExistsAttrKind</span></span></code></li><li id="type-attribute_kind.UuidAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.UuidAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">UuidAttrKind</span></span></code></li><li id="type-attribute_kind.VecReturnAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.VecReturnAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">VecReturnAttrKind</span></span></code></li><li id="type-attribute_kind.VecTypeHintAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.VecTypeHintAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">VecTypeHintAttrKind</span></span></code></li><li id="type-attribute_kind.VisibilityAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.VisibilityAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">VisibilityAttrKind</span></span></code></li><li id="type-attribute_kind.WarnUnusedAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.WarnUnusedAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">WarnUnusedAttrKind</span></span></code></li><li id="type-attribute_kind.WarnUnusedResultAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.WarnUnusedResultAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">WarnUnusedResultAttrKind</span></span></code></li><li id="type-attribute_kind.WeakAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.WeakAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">WeakAttrKind</span></span></code></li><li id="type-attribute_kind.WeakImportAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.WeakImportAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">WeakImportAttrKind</span></span></code></li><li id="type-attribute_kind.WeakRefAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.WeakRefAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">WeakRefAttrKind</span></span></code></li><li id="type-attribute_kind.WebAssemblyExportNameAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.WebAssemblyExportNameAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">WebAssemblyExportNameAttrKind</span></span></code></li><li id="type-attribute_kind.WebAssemblyImportModuleAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.WebAssemblyImportModuleAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">WebAssemblyImportModuleAttrKind</span></span></code></li><li id="type-attribute_kind.WebAssemblyImportNameAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.WebAssemblyImportNameAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">WebAssemblyImportNameAttrKind</span></span></code></li><li id="type-attribute_kind.WorkGroupSizeHintAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.WorkGroupSizeHintAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">WorkGroupSizeHintAttrKind</span></span></code></li><li id="type-attribute_kind.X86ForceAlignArgPointerAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.X86ForceAlignArgPointerAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">X86ForceAlignArgPointerAttrKind</span></span></code></li><li id="type-attribute_kind.XRayInstrumentAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.XRayInstrumentAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">XRayInstrumentAttrKind</span></span></code></li><li id="type-attribute_kind.XRayLogArgsAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.XRayLogArgsAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">XRayLogArgsAttrKind</span></span></code></li><li id="type-attribute_kind.ZeroCallUsedRegsAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.ZeroCallUsedRegsAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">ZeroCallUsedRegsAttrKind</span></span></code></li><li id="type-attribute_kind.AbiTagAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.AbiTagAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">AbiTagAttrKind</span></span></code></li><li id="type-attribute_kind.AliasAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.AliasAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">AliasAttrKind</span></span></code></li><li id="type-attribute_kind.AlignValueAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.AlignValueAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">AlignValueAttrKind</span></span></code></li><li id="type-attribute_kind.BuiltinAliasAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.BuiltinAliasAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">BuiltinAliasAttrKind</span></span></code></li><li id="type-attribute_kind.CalledOnceAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.CalledOnceAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">CalledOnceAttrKind</span></span></code></li><li id="type-attribute_kind.IFuncAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.IFuncAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">IFuncAttrKind</span></span></code></li><li id="type-attribute_kind.InitSegAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.InitSegAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">InitSegAttrKind</span></span></code></li><li id="type-attribute_kind.LoaderUninitializedAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.LoaderUninitializedAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">LoaderUninitializedAttrKind</span></span></code></li><li id="type-attribute_kind.LoopHintAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.LoopHintAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">LoopHintAttrKind</span></span></code></li><li id="type-attribute_kind.ModeAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.ModeAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">ModeAttrKind</span></span></code></li><li id="type-attribute_kind.NoBuiltinAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.NoBuiltinAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">NoBuiltinAttrKind</span></span></code></li><li id="type-attribute_kind.NoEscapeAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.NoEscapeAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">NoEscapeAttrKind</span></span></code></li><li id="type-attribute_kind.OMPCaptureKindAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.OMPCaptureKindAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">OMPCaptureKindAttrKind</span></span></code></li><li id="type-attribute_kind.OMPDeclareSimdDeclAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.OMPDeclareSimdDeclAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">OMPDeclareSimdDeclAttrKind</span></span></code></li><li id="type-attribute_kind.OMPReferencedVarAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.OMPReferencedVarAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">OMPReferencedVarAttrKind</span></span></code></li><li id="type-attribute_kind.ObjCBoxableAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.ObjCBoxableAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">ObjCBoxableAttrKind</span></span></code></li><li id="type-attribute_kind.ObjCClassStubAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.ObjCClassStubAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">ObjCClassStubAttrKind</span></span></code></li><li id="type-attribute_kind.ObjCDesignatedInitializerAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.ObjCDesignatedInitializerAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">ObjCDesignatedInitializerAttrKind</span></span></code></li><li id="type-attribute_kind.ObjCDirectAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.ObjCDirectAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">ObjCDirectAttrKind</span></span></code></li><li id="type-attribute_kind.ObjCDirectMembersAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.ObjCDirectMembersAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">ObjCDirectMembersAttrKind</span></span></code></li><li id="type-attribute_kind.ObjCNonLazyClassAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.ObjCNonLazyClassAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">ObjCNonLazyClassAttrKind</span></span></code></li><li id="type-attribute_kind.ObjCNonRuntimeProtocolAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.ObjCNonRuntimeProtocolAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">ObjCNonRuntimeProtocolAttrKind</span></span></code></li><li id="type-attribute_kind.ObjCRuntimeNameAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.ObjCRuntimeNameAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">ObjCRuntimeNameAttrKind</span></span></code></li><li id="type-attribute_kind.ObjCRuntimeVisibleAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.ObjCRuntimeVisibleAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">ObjCRuntimeVisibleAttrKind</span></span></code></li><li id="type-attribute_kind.OpenCLAccessAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.OpenCLAccessAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">OpenCLAccessAttrKind</span></span></code></li><li id="type-attribute_kind.OverloadableAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.OverloadableAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">OverloadableAttrKind</span></span></code></li><li id="type-attribute_kind.RenderScriptKernelAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.RenderScriptKernelAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">RenderScriptKernelAttrKind</span></span></code></li><li id="type-attribute_kind.SwiftObjCMembersAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.SwiftObjCMembersAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">SwiftObjCMembersAttrKind</span></span></code></li><li id="type-attribute_kind.SwiftVersionedAdditionAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.SwiftVersionedAdditionAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">SwiftVersionedAdditionAttrKind</span></span></code></li><li id="type-attribute_kind.SwiftVersionedRemovalAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.SwiftVersionedRemovalAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">SwiftVersionedRemovalAttrKind</span></span></code></li><li id="type-attribute_kind.ThreadAttrKind" class="def variant constructor anchored"><a href="#type-attribute_kind.ThreadAttrKind" class="anchor"></a><code><span>| </span><span><span class="constructor">ThreadAttrKind</span></span></code></li></ol></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-binary_operator_kind"><a href="#type-binary_operator_kind" class="anchor"></a><code><span><span class="keyword">type</span> binary_operator_kind</span><span> = </span><span>[ </span></code><ol><li id="type-binary_operator_kind.PtrMemD" class="def variant constructor anchored"><a href="#type-binary_operator_kind.PtrMemD" class="anchor"></a><code><span>| </span><span>`PtrMemD</span></code></li><li id="type-binary_operator_kind.PtrMemI" class="def variant constructor anchored"><a href="#type-binary_operator_kind.PtrMemI" class="anchor"></a><code><span>| </span><span>`PtrMemI</span></code></li><li id="type-binary_operator_kind.Mul" class="def variant constructor anchored"><a href="#type-binary_operator_kind.Mul" class="anchor"></a><code><span>| </span><span>`Mul</span></code></li><li id="type-binary_operator_kind.Div" class="def variant constructor anchored"><a href="#type-binary_operator_kind.Div" class="anchor"></a><code><span>| </span><span>`Div</span></code></li><li id="type-binary_operator_kind.Rem" class="def variant constructor anchored"><a href="#type-binary_operator_kind.Rem" class="anchor"></a><code><span>| </span><span>`Rem</span></code></li><li id="type-binary_operator_kind.Add" class="def variant constructor anchored"><a href="#type-binary_operator_kind.Add" class="anchor"></a><code><span>| </span><span>`Add</span></code></li><li id="type-binary_operator_kind.Sub" class="def variant constructor anchored"><a href="#type-binary_operator_kind.Sub" class="anchor"></a><code><span>| </span><span>`Sub</span></code></li><li id="type-binary_operator_kind.Shl" class="def variant constructor anchored"><a href="#type-binary_operator_kind.Shl" class="anchor"></a><code><span>| </span><span>`Shl</span></code></li><li id="type-binary_operator_kind.Shr" class="def variant constructor anchored"><a href="#type-binary_operator_kind.Shr" class="anchor"></a><code><span>| </span><span>`Shr</span></code></li><li id="type-binary_operator_kind.Cmp" class="def variant constructor anchored"><a href="#type-binary_operator_kind.Cmp" class="anchor"></a><code><span>| </span><span>`Cmp</span></code></li><li id="type-binary_operator_kind.LT" class="def variant constructor anchored"><a href="#type-binary_operator_kind.LT" class="anchor"></a><code><span>| </span><span>`LT</span></code></li><li id="type-binary_operator_kind.GT" class="def variant constructor anchored"><a href="#type-binary_operator_kind.GT" class="anchor"></a><code><span>| </span><span>`GT</span></code></li><li id="type-binary_operator_kind.LE" class="def variant constructor anchored"><a href="#type-binary_operator_kind.LE" class="anchor"></a><code><span>| </span><span>`LE</span></code></li><li id="type-binary_operator_kind.GE" class="def variant constructor anchored"><a href="#type-binary_operator_kind.GE" class="anchor"></a><code><span>| </span><span>`GE</span></code></li><li id="type-binary_operator_kind.EQ" class="def variant constructor anchored"><a href="#type-binary_operator_kind.EQ" class="anchor"></a><code><span>| </span><span>`EQ</span></code></li><li id="type-binary_operator_kind.NE" class="def variant constructor anchored"><a href="#type-binary_operator_kind.NE" class="anchor"></a><code><span>| </span><span>`NE</span></code></li><li id="type-binary_operator_kind.And" class="def variant constructor anchored"><a href="#type-binary_operator_kind.And" class="anchor"></a><code><span>| </span><span>`And</span></code></li><li id="type-binary_operator_kind.Xor" class="def variant constructor anchored"><a href="#type-binary_operator_kind.Xor" class="anchor"></a><code><span>| </span><span>`Xor</span></code></li><li id="type-binary_operator_kind.Or" class="def variant constructor anchored"><a href="#type-binary_operator_kind.Or" class="anchor"></a><code><span>| </span><span>`Or</span></code></li><li id="type-binary_operator_kind.LAnd" class="def variant constructor anchored"><a href="#type-binary_operator_kind.LAnd" class="anchor"></a><code><span>| </span><span>`LAnd</span></code></li><li id="type-binary_operator_kind.LOr" class="def variant constructor anchored"><a href="#type-binary_operator_kind.LOr" class="anchor"></a><code><span>| </span><span>`LOr</span></code></li><li id="type-binary_operator_kind.Assign" class="def variant constructor anchored"><a href="#type-binary_operator_kind.Assign" class="anchor"></a><code><span>| </span><span>`Assign</span></code></li><li id="type-binary_operator_kind.MulAssign" class="def variant constructor anchored"><a href="#type-binary_operator_kind.MulAssign" class="anchor"></a><code><span>| </span><span>`MulAssign</span></code></li><li id="type-binary_operator_kind.DivAssign" class="def variant constructor anchored"><a href="#type-binary_operator_kind.DivAssign" class="anchor"></a><code><span>| </span><span>`DivAssign</span></code></li><li id="type-binary_operator_kind.RemAssign" class="def variant constructor anchored"><a href="#type-binary_operator_kind.RemAssign" class="anchor"></a><code><span>| </span><span>`RemAssign</span></code></li><li id="type-binary_operator_kind.AddAssign" class="def variant constructor anchored"><a href="#type-binary_operator_kind.AddAssign" class="anchor"></a><code><span>| </span><span>`AddAssign</span></code></li><li id="type-binary_operator_kind.SubAssign" class="def variant constructor anchored"><a href="#type-binary_operator_kind.SubAssign" class="anchor"></a><code><span>| </span><span>`SubAssign</span></code></li><li id="type-binary_operator_kind.ShlAssign" class="def variant constructor anchored"><a href="#type-binary_operator_kind.ShlAssign" class="anchor"></a><code><span>| </span><span>`ShlAssign</span></code></li><li id="type-binary_operator_kind.ShrAssign" class="def variant constructor anchored"><a href="#type-binary_operator_kind.ShrAssign" class="anchor"></a><code><span>| </span><span>`ShrAssign</span></code></li><li id="type-binary_operator_kind.AndAssign" class="def variant constructor anchored"><a href="#type-binary_operator_kind.AndAssign" class="anchor"></a><code><span>| </span><span>`AndAssign</span></code></li><li id="type-binary_operator_kind.XorAssign" class="def variant constructor anchored"><a href="#type-binary_operator_kind.XorAssign" class="anchor"></a><code><span>| </span><span>`XorAssign</span></code></li><li id="type-binary_operator_kind.OrAssign" class="def variant constructor anchored"><a href="#type-binary_operator_kind.OrAssign" class="anchor"></a><code><span>| </span><span>`OrAssign</span></code></li><li id="type-binary_operator_kind.Comma" class="def variant constructor anchored"><a href="#type-binary_operator_kind.Comma" class="anchor"></a><code><span>| </span><span>`Comma</span></code></li></ol><code><span> ]</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-binary_operator_info"><a href="#type-binary_operator_info" class="anchor"></a><code><span><span class="keyword">type</span> binary_operator_info</span><span> = </span><span>{</span></code><ol><li id="type-binary_operator_info.boi_kind" class="def record field anchored"><a href="#type-binary_operator_info.boi_kind" class="anchor"></a><code><span>boi_kind : <a href="#type-binary_operator_kind">binary_operator_kind</a>;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-builtin_type_kind"><a href="#type-builtin_type_kind" class="anchor"></a><code><span><span class="keyword">type</span> builtin_type_kind</span><span> = </span><span>[ </span></code><ol><li id="type-builtin_type_kind.Void" class="def variant constructor anchored"><a href="#type-builtin_type_kind.Void" class="anchor"></a><code><span>| </span><span>`Void</span></code></li><li id="type-builtin_type_kind.Bool" class="def variant constructor anchored"><a href="#type-builtin_type_kind.Bool" class="anchor"></a><code><span>| </span><span>`Bool</span></code></li><li id="type-builtin_type_kind.Char_U" class="def variant constructor anchored"><a href="#type-builtin_type_kind.Char_U" class="anchor"></a><code><span>| </span><span>`Char_U</span></code></li><li id="type-builtin_type_kind.UChar" class="def variant constructor anchored"><a href="#type-builtin_type_kind.UChar" class="anchor"></a><code><span>| </span><span>`UChar</span></code></li><li id="type-builtin_type_kind.WChar_U" class="def variant constructor anchored"><a href="#type-builtin_type_kind.WChar_U" class="anchor"></a><code><span>| </span><span>`WChar_U</span></code></li><li id="type-builtin_type_kind.Char8" class="def variant constructor anchored"><a href="#type-builtin_type_kind.Char8" class="anchor"></a><code><span>| </span><span>`Char8</span></code></li><li id="type-builtin_type_kind.Char16" class="def variant constructor anchored"><a href="#type-builtin_type_kind.Char16" class="anchor"></a><code><span>| </span><span>`Char16</span></code></li><li id="type-builtin_type_kind.Char32" class="def variant constructor anchored"><a href="#type-builtin_type_kind.Char32" class="anchor"></a><code><span>| </span><span>`Char32</span></code></li><li id="type-builtin_type_kind.UShort" class="def variant constructor anchored"><a href="#type-builtin_type_kind.UShort" class="anchor"></a><code><span>| </span><span>`UShort</span></code></li><li id="type-builtin_type_kind.UInt" class="def variant constructor anchored"><a href="#type-builtin_type_kind.UInt" class="anchor"></a><code><span>| </span><span>`UInt</span></code></li><li id="type-builtin_type_kind.ULong" class="def variant constructor anchored"><a href="#type-builtin_type_kind.ULong" class="anchor"></a><code><span>| </span><span>`ULong</span></code></li><li id="type-builtin_type_kind.ULongLong" class="def variant constructor anchored"><a href="#type-builtin_type_kind.ULongLong" class="anchor"></a><code><span>| </span><span>`ULongLong</span></code></li><li id="type-builtin_type_kind.UInt128" class="def variant constructor anchored"><a href="#type-builtin_type_kind.UInt128" class="anchor"></a><code><span>| </span><span>`UInt128</span></code></li><li id="type-builtin_type_kind.Char_S" class="def variant constructor anchored"><a href="#type-builtin_type_kind.Char_S" class="anchor"></a><code><span>| </span><span>`Char_S</span></code></li><li id="type-builtin_type_kind.SChar" class="def variant constructor anchored"><a href="#type-builtin_type_kind.SChar" class="anchor"></a><code><span>| </span><span>`SChar</span></code></li><li id="type-builtin_type_kind.WChar_S" class="def variant constructor anchored"><a href="#type-builtin_type_kind.WChar_S" class="anchor"></a><code><span>| </span><span>`WChar_S</span></code></li><li id="type-builtin_type_kind.Short" class="def variant constructor anchored"><a href="#type-builtin_type_kind.Short" class="anchor"></a><code><span>| </span><span>`Short</span></code></li><li id="type-builtin_type_kind.Int" class="def variant constructor anchored"><a href="#type-builtin_type_kind.Int" class="anchor"></a><code><span>| </span><span>`Int</span></code></li><li id="type-builtin_type_kind.Long" class="def variant constructor anchored"><a href="#type-builtin_type_kind.Long" class="anchor"></a><code><span>| </span><span>`Long</span></code></li><li id="type-builtin_type_kind.LongLong" class="def variant constructor anchored"><a href="#type-builtin_type_kind.LongLong" class="anchor"></a><code><span>| </span><span>`LongLong</span></code></li><li id="type-builtin_type_kind.Int128" class="def variant constructor anchored"><a href="#type-builtin_type_kind.Int128" class="anchor"></a><code><span>| </span><span>`Int128</span></code></li><li id="type-builtin_type_kind.ShortAccum" class="def variant constructor anchored"><a href="#type-builtin_type_kind.ShortAccum" class="anchor"></a><code><span>| </span><span>`ShortAccum</span></code></li><li id="type-builtin_type_kind.Accum" class="def variant constructor anchored"><a href="#type-builtin_type_kind.Accum" class="anchor"></a><code><span>| </span><span>`Accum</span></code></li><li id="type-builtin_type_kind.LongAccum" class="def variant constructor anchored"><a href="#type-builtin_type_kind.LongAccum" class="anchor"></a><code><span>| </span><span>`LongAccum</span></code></li><li id="type-builtin_type_kind.UShortAccum" class="def variant constructor anchored"><a href="#type-builtin_type_kind.UShortAccum" class="anchor"></a><code><span>| </span><span>`UShortAccum</span></code></li><li id="type-builtin_type_kind.UAccum" class="def variant constructor anchored"><a href="#type-builtin_type_kind.UAccum" class="anchor"></a><code><span>| </span><span>`UAccum</span></code></li><li id="type-builtin_type_kind.ULongAccum" class="def variant constructor anchored"><a href="#type-builtin_type_kind.ULongAccum" class="anchor"></a><code><span>| </span><span>`ULongAccum</span></code></li><li id="type-builtin_type_kind.ShortFract" class="def variant constructor anchored"><a href="#type-builtin_type_kind.ShortFract" class="anchor"></a><code><span>| </span><span>`ShortFract</span></code></li><li id="type-builtin_type_kind.Fract" class="def variant constructor anchored"><a href="#type-builtin_type_kind.Fract" class="anchor"></a><code><span>| </span><span>`Fract</span></code></li><li id="type-builtin_type_kind.LongFract" class="def variant constructor anchored"><a href="#type-builtin_type_kind.LongFract" class="anchor"></a><code><span>| </span><span>`LongFract</span></code></li><li id="type-builtin_type_kind.UShortFract" class="def variant constructor anchored"><a href="#type-builtin_type_kind.UShortFract" class="anchor"></a><code><span>| </span><span>`UShortFract</span></code></li><li id="type-builtin_type_kind.UFract" class="def variant constructor anchored"><a href="#type-builtin_type_kind.UFract" class="anchor"></a><code><span>| </span><span>`UFract</span></code></li><li id="type-builtin_type_kind.ULongFract" class="def variant constructor anchored"><a href="#type-builtin_type_kind.ULongFract" class="anchor"></a><code><span>| </span><span>`ULongFract</span></code></li><li id="type-builtin_type_kind.SatShortAccum" class="def variant constructor anchored"><a href="#type-builtin_type_kind.SatShortAccum" class="anchor"></a><code><span>| </span><span>`SatShortAccum</span></code></li><li id="type-builtin_type_kind.SatAccum" class="def variant constructor anchored"><a href="#type-builtin_type_kind.SatAccum" class="anchor"></a><code><span>| </span><span>`SatAccum</span></code></li><li id="type-builtin_type_kind.SatLongAccum" class="def variant constructor anchored"><a href="#type-builtin_type_kind.SatLongAccum" class="anchor"></a><code><span>| </span><span>`SatLongAccum</span></code></li><li id="type-builtin_type_kind.SatUShortAccum" class="def variant constructor anchored"><a href="#type-builtin_type_kind.SatUShortAccum" class="anchor"></a><code><span>| </span><span>`SatUShortAccum</span></code></li><li id="type-builtin_type_kind.SatUAccum" class="def variant constructor anchored"><a href="#type-builtin_type_kind.SatUAccum" class="anchor"></a><code><span>| </span><span>`SatUAccum</span></code></li><li id="type-builtin_type_kind.SatULongAccum" class="def variant constructor anchored"><a href="#type-builtin_type_kind.SatULongAccum" class="anchor"></a><code><span>| </span><span>`SatULongAccum</span></code></li><li id="type-builtin_type_kind.SatShortFract" class="def variant constructor anchored"><a href="#type-builtin_type_kind.SatShortFract" class="anchor"></a><code><span>| </span><span>`SatShortFract</span></code></li><li id="type-builtin_type_kind.SatFract" class="def variant constructor anchored"><a href="#type-builtin_type_kind.SatFract" class="anchor"></a><code><span>| </span><span>`SatFract</span></code></li><li id="type-builtin_type_kind.SatLongFract" class="def variant constructor anchored"><a href="#type-builtin_type_kind.SatLongFract" class="anchor"></a><code><span>| </span><span>`SatLongFract</span></code></li><li id="type-builtin_type_kind.SatUShortFract" class="def variant constructor anchored"><a href="#type-builtin_type_kind.SatUShortFract" class="anchor"></a><code><span>| </span><span>`SatUShortFract</span></code></li><li id="type-builtin_type_kind.SatUFract" class="def variant constructor anchored"><a href="#type-builtin_type_kind.SatUFract" class="anchor"></a><code><span>| </span><span>`SatUFract</span></code></li><li id="type-builtin_type_kind.SatULongFract" class="def variant constructor anchored"><a href="#type-builtin_type_kind.SatULongFract" class="anchor"></a><code><span>| </span><span>`SatULongFract</span></code></li><li id="type-builtin_type_kind.Half" class="def variant constructor anchored"><a href="#type-builtin_type_kind.Half" class="anchor"></a><code><span>| </span><span>`Half</span></code></li><li id="type-builtin_type_kind.Float" class="def variant constructor anchored"><a href="#type-builtin_type_kind.Float" class="anchor"></a><code><span>| </span><span>`Float</span></code></li><li id="type-builtin_type_kind.Double" class="def variant constructor anchored"><a href="#type-builtin_type_kind.Double" class="anchor"></a><code><span>| </span><span>`Double</span></code></li><li id="type-builtin_type_kind.LongDouble" class="def variant constructor anchored"><a href="#type-builtin_type_kind.LongDouble" class="anchor"></a><code><span>| </span><span>`LongDouble</span></code></li><li id="type-builtin_type_kind.Float16" class="def variant constructor anchored"><a href="#type-builtin_type_kind.Float16" class="anchor"></a><code><span>| </span><span>`Float16</span></code></li><li id="type-builtin_type_kind.BFloat16" class="def variant constructor anchored"><a href="#type-builtin_type_kind.BFloat16" class="anchor"></a><code><span>| </span><span>`BFloat16</span></code></li><li id="type-builtin_type_kind.Float128" class="def variant constructor anchored"><a href="#type-builtin_type_kind.Float128" class="anchor"></a><code><span>| </span><span>`Float128</span></code></li><li id="type-builtin_type_kind.Ibm128" class="def variant constructor anchored"><a href="#type-builtin_type_kind.Ibm128" class="anchor"></a><code><span>| </span><span>`Ibm128</span></code></li><li id="type-builtin_type_kind.NullPtr" class="def variant constructor anchored"><a href="#type-builtin_type_kind.NullPtr" class="anchor"></a><code><span>| </span><span>`NullPtr</span></code></li><li id="type-builtin_type_kind.ObjCId" class="def variant constructor anchored"><a href="#type-builtin_type_kind.ObjCId" class="anchor"></a><code><span>| </span><span>`ObjCId</span></code></li><li id="type-builtin_type_kind.ObjCClass" class="def variant constructor anchored"><a href="#type-builtin_type_kind.ObjCClass" class="anchor"></a><code><span>| </span><span>`ObjCClass</span></code></li><li id="type-builtin_type_kind.ObjCSel" class="def variant constructor anchored"><a href="#type-builtin_type_kind.ObjCSel" class="anchor"></a><code><span>| </span><span>`ObjCSel</span></code></li><li id="type-builtin_type_kind.OCLSampler" class="def variant constructor anchored"><a href="#type-builtin_type_kind.OCLSampler" class="anchor"></a><code><span>| </span><span>`OCLSampler</span></code></li><li id="type-builtin_type_kind.OCLEvent" class="def variant constructor anchored"><a href="#type-builtin_type_kind.OCLEvent" class="anchor"></a><code><span>| </span><span>`OCLEvent</span></code></li><li id="type-builtin_type_kind.OCLClkEvent" class="def variant constructor anchored"><a href="#type-builtin_type_kind.OCLClkEvent" class="anchor"></a><code><span>| </span><span>`OCLClkEvent</span></code></li><li id="type-builtin_type_kind.OCLQueue" class="def variant constructor anchored"><a href="#type-builtin_type_kind.OCLQueue" class="anchor"></a><code><span>| </span><span>`OCLQueue</span></code></li><li id="type-builtin_type_kind.OCLReserveID" class="def variant constructor anchored"><a href="#type-builtin_type_kind.OCLReserveID" class="anchor"></a><code><span>| </span><span>`OCLReserveID</span></code></li><li id="type-builtin_type_kind.Dependent" class="def variant constructor anchored"><a href="#type-builtin_type_kind.Dependent" class="anchor"></a><code><span>| </span><span>`Dependent</span></code></li><li id="type-builtin_type_kind.Overload" class="def variant constructor anchored"><a href="#type-builtin_type_kind.Overload" class="anchor"></a><code><span>| </span><span>`Overload</span></code></li><li id="type-builtin_type_kind.BoundMember" class="def variant constructor anchored"><a href="#type-builtin_type_kind.BoundMember" class="anchor"></a><code><span>| </span><span>`BoundMember</span></code></li><li id="type-builtin_type_kind.PseudoObject" class="def variant constructor anchored"><a href="#type-builtin_type_kind.PseudoObject" class="anchor"></a><code><span>| </span><span>`PseudoObject</span></code></li><li id="type-builtin_type_kind.UnknownAny" class="def variant constructor anchored"><a href="#type-builtin_type_kind.UnknownAny" class="anchor"></a><code><span>| </span><span>`UnknownAny</span></code></li><li id="type-builtin_type_kind.BuiltinFn" class="def variant constructor anchored"><a href="#type-builtin_type_kind.BuiltinFn" class="anchor"></a><code><span>| </span><span>`BuiltinFn</span></code></li><li id="type-builtin_type_kind.ARCUnbridgedCast" class="def variant constructor anchored"><a href="#type-builtin_type_kind.ARCUnbridgedCast" class="anchor"></a><code><span>| </span><span>`ARCUnbridgedCast</span></code></li><li id="type-builtin_type_kind.IncompleteMatrixIdx" class="def variant constructor anchored"><a href="#type-builtin_type_kind.IncompleteMatrixIdx" class="anchor"></a><code><span>| </span><span>`IncompleteMatrixIdx</span></code></li><li id="type-builtin_type_kind.OMPArraySection" class="def variant constructor anchored"><a href="#type-builtin_type_kind.OMPArraySection" class="anchor"></a><code><span>| </span><span>`OMPArraySection</span></code></li><li id="type-builtin_type_kind.OMPArrayShaping" class="def variant constructor anchored"><a href="#type-builtin_type_kind.OMPArrayShaping" class="anchor"></a><code><span>| </span><span>`OMPArrayShaping</span></code></li><li id="type-builtin_type_kind.OMPIterator" class="def variant constructor anchored"><a href="#type-builtin_type_kind.OMPIterator" class="anchor"></a><code><span>| </span><span>`OMPIterator</span></code></li><li id="type-builtin_type_kind.SveInt8" class="def variant constructor anchored"><a href="#type-builtin_type_kind.SveInt8" class="anchor"></a><code><span>| </span><span>`SveInt8</span></code></li><li id="type-builtin_type_kind.SveInt16" class="def variant constructor anchored"><a href="#type-builtin_type_kind.SveInt16" class="anchor"></a><code><span>| </span><span>`SveInt16</span></code></li><li id="type-builtin_type_kind.SveInt32" class="def variant constructor anchored"><a href="#type-builtin_type_kind.SveInt32" class="anchor"></a><code><span>| </span><span>`SveInt32</span></code></li><li id="type-builtin_type_kind.SveInt64" class="def variant constructor anchored"><a href="#type-builtin_type_kind.SveInt64" class="anchor"></a><code><span>| </span><span>`SveInt64</span></code></li><li id="type-builtin_type_kind.SveUint8" class="def variant constructor anchored"><a href="#type-builtin_type_kind.SveUint8" class="anchor"></a><code><span>| </span><span>`SveUint8</span></code></li><li id="type-builtin_type_kind.SveUint16" class="def variant constructor anchored"><a href="#type-builtin_type_kind.SveUint16" class="anchor"></a><code><span>| </span><span>`SveUint16</span></code></li><li id="type-builtin_type_kind.SveUint32" class="def variant constructor anchored"><a href="#type-builtin_type_kind.SveUint32" class="anchor"></a><code><span>| </span><span>`SveUint32</span></code></li><li id="type-builtin_type_kind.SveUint64" class="def variant constructor anchored"><a href="#type-builtin_type_kind.SveUint64" class="anchor"></a><code><span>| </span><span>`SveUint64</span></code></li><li id="type-builtin_type_kind.SveFloat16" class="def variant constructor anchored"><a href="#type-builtin_type_kind.SveFloat16" class="anchor"></a><code><span>| </span><span>`SveFloat16</span></code></li><li id="type-builtin_type_kind.SveFloat32" class="def variant constructor anchored"><a href="#type-builtin_type_kind.SveFloat32" class="anchor"></a><code><span>| </span><span>`SveFloat32</span></code></li><li id="type-builtin_type_kind.SveFloat64" class="def variant constructor anchored"><a href="#type-builtin_type_kind.SveFloat64" class="anchor"></a><code><span>| </span><span>`SveFloat64</span></code></li><li id="type-builtin_type_kind.SveBFloat16" class="def variant constructor anchored"><a href="#type-builtin_type_kind.SveBFloat16" class="anchor"></a><code><span>| </span><span>`SveBFloat16</span></code></li><li id="type-builtin_type_kind.SveInt8x2" class="def variant constructor anchored"><a href="#type-builtin_type_kind.SveInt8x2" class="anchor"></a><code><span>| </span><span>`SveInt8x2</span></code></li><li id="type-builtin_type_kind.SveInt16x2" class="def variant constructor anchored"><a href="#type-builtin_type_kind.SveInt16x2" class="anchor"></a><code><span>| </span><span>`SveInt16x2</span></code></li><li id="type-builtin_type_kind.SveInt32x2" class="def variant constructor anchored"><a href="#type-builtin_type_kind.SveInt32x2" class="anchor"></a><code><span>| </span><span>`SveInt32x2</span></code></li><li id="type-builtin_type_kind.SveInt64x2" class="def variant constructor anchored"><a href="#type-builtin_type_kind.SveInt64x2" class="anchor"></a><code><span>| </span><span>`SveInt64x2</span></code></li><li id="type-builtin_type_kind.SveUint8x2" class="def variant constructor anchored"><a href="#type-builtin_type_kind.SveUint8x2" class="anchor"></a><code><span>| </span><span>`SveUint8x2</span></code></li><li id="type-builtin_type_kind.SveUint16x2" class="def variant constructor anchored"><a href="#type-builtin_type_kind.SveUint16x2" class="anchor"></a><code><span>| </span><span>`SveUint16x2</span></code></li><li id="type-builtin_type_kind.SveUint32x2" class="def variant constructor anchored"><a href="#type-builtin_type_kind.SveUint32x2" class="anchor"></a><code><span>| </span><span>`SveUint32x2</span></code></li><li id="type-builtin_type_kind.SveUint64x2" class="def variant constructor anchored"><a href="#type-builtin_type_kind.SveUint64x2" class="anchor"></a><code><span>| </span><span>`SveUint64x2</span></code></li><li id="type-builtin_type_kind.SveFloat16x2" class="def variant constructor anchored"><a href="#type-builtin_type_kind.SveFloat16x2" class="anchor"></a><code><span>| </span><span>`SveFloat16x2</span></code></li><li id="type-builtin_type_kind.SveFloat32x2" class="def variant constructor anchored"><a href="#type-builtin_type_kind.SveFloat32x2" class="anchor"></a><code><span>| </span><span>`SveFloat32x2</span></code></li><li id="type-builtin_type_kind.SveFloat64x2" class="def variant constructor anchored"><a href="#type-builtin_type_kind.SveFloat64x2" class="anchor"></a><code><span>| </span><span>`SveFloat64x2</span></code></li><li id="type-builtin_type_kind.SveBFloat16x2" class="def variant constructor anchored"><a href="#type-builtin_type_kind.SveBFloat16x2" class="anchor"></a><code><span>| </span><span>`SveBFloat16x2</span></code></li><li id="type-builtin_type_kind.SveInt8x3" class="def variant constructor anchored"><a href="#type-builtin_type_kind.SveInt8x3" class="anchor"></a><code><span>| </span><span>`SveInt8x3</span></code></li><li id="type-builtin_type_kind.SveInt16x3" class="def variant constructor anchored"><a href="#type-builtin_type_kind.SveInt16x3" class="anchor"></a><code><span>| </span><span>`SveInt16x3</span></code></li><li id="type-builtin_type_kind.SveInt32x3" class="def variant constructor anchored"><a href="#type-builtin_type_kind.SveInt32x3" class="anchor"></a><code><span>| </span><span>`SveInt32x3</span></code></li><li id="type-builtin_type_kind.SveInt64x3" class="def variant constructor anchored"><a href="#type-builtin_type_kind.SveInt64x3" class="anchor"></a><code><span>| </span><span>`SveInt64x3</span></code></li><li id="type-builtin_type_kind.SveUint8x3" class="def variant constructor anchored"><a href="#type-builtin_type_kind.SveUint8x3" class="anchor"></a><code><span>| </span><span>`SveUint8x3</span></code></li><li id="type-builtin_type_kind.SveUint16x3" class="def variant constructor anchored"><a href="#type-builtin_type_kind.SveUint16x3" class="anchor"></a><code><span>| </span><span>`SveUint16x3</span></code></li><li id="type-builtin_type_kind.SveUint32x3" class="def variant constructor anchored"><a href="#type-builtin_type_kind.SveUint32x3" class="anchor"></a><code><span>| </span><span>`SveUint32x3</span></code></li><li id="type-builtin_type_kind.SveUint64x3" class="def variant constructor anchored"><a href="#type-builtin_type_kind.SveUint64x3" class="anchor"></a><code><span>| </span><span>`SveUint64x3</span></code></li><li id="type-builtin_type_kind.SveFloat16x3" class="def variant constructor anchored"><a href="#type-builtin_type_kind.SveFloat16x3" class="anchor"></a><code><span>| </span><span>`SveFloat16x3</span></code></li><li id="type-builtin_type_kind.SveFloat32x3" class="def variant constructor anchored"><a href="#type-builtin_type_kind.SveFloat32x3" class="anchor"></a><code><span>| </span><span>`SveFloat32x3</span></code></li><li id="type-builtin_type_kind.SveFloat64x3" class="def variant constructor anchored"><a href="#type-builtin_type_kind.SveFloat64x3" class="anchor"></a><code><span>| </span><span>`SveFloat64x3</span></code></li><li id="type-builtin_type_kind.SveBFloat16x3" class="def variant constructor anchored"><a href="#type-builtin_type_kind.SveBFloat16x3" class="anchor"></a><code><span>| </span><span>`SveBFloat16x3</span></code></li><li id="type-builtin_type_kind.SveInt8x4" class="def variant constructor anchored"><a href="#type-builtin_type_kind.SveInt8x4" class="anchor"></a><code><span>| </span><span>`SveInt8x4</span></code></li><li id="type-builtin_type_kind.SveInt16x4" class="def variant constructor anchored"><a href="#type-builtin_type_kind.SveInt16x4" class="anchor"></a><code><span>| </span><span>`SveInt16x4</span></code></li><li id="type-builtin_type_kind.SveInt32x4" class="def variant constructor anchored"><a href="#type-builtin_type_kind.SveInt32x4" class="anchor"></a><code><span>| </span><span>`SveInt32x4</span></code></li><li id="type-builtin_type_kind.SveInt64x4" class="def variant constructor anchored"><a href="#type-builtin_type_kind.SveInt64x4" class="anchor"></a><code><span>| </span><span>`SveInt64x4</span></code></li><li id="type-builtin_type_kind.SveUint8x4" class="def variant constructor anchored"><a href="#type-builtin_type_kind.SveUint8x4" class="anchor"></a><code><span>| </span><span>`SveUint8x4</span></code></li><li id="type-builtin_type_kind.SveUint16x4" class="def variant constructor anchored"><a href="#type-builtin_type_kind.SveUint16x4" class="anchor"></a><code><span>| </span><span>`SveUint16x4</span></code></li><li id="type-builtin_type_kind.SveUint32x4" class="def variant constructor anchored"><a href="#type-builtin_type_kind.SveUint32x4" class="anchor"></a><code><span>| </span><span>`SveUint32x4</span></code></li><li id="type-builtin_type_kind.SveUint64x4" class="def variant constructor anchored"><a href="#type-builtin_type_kind.SveUint64x4" class="anchor"></a><code><span>| </span><span>`SveUint64x4</span></code></li><li id="type-builtin_type_kind.SveFloat16x4" class="def variant constructor anchored"><a href="#type-builtin_type_kind.SveFloat16x4" class="anchor"></a><code><span>| </span><span>`SveFloat16x4</span></code></li><li id="type-builtin_type_kind.SveFloat32x4" class="def variant constructor anchored"><a href="#type-builtin_type_kind.SveFloat32x4" class="anchor"></a><code><span>| </span><span>`SveFloat32x4</span></code></li><li id="type-builtin_type_kind.SveFloat64x4" class="def variant constructor anchored"><a href="#type-builtin_type_kind.SveFloat64x4" class="anchor"></a><code><span>| </span><span>`SveFloat64x4</span></code></li><li id="type-builtin_type_kind.SveBFloat16x4" class="def variant constructor anchored"><a href="#type-builtin_type_kind.SveBFloat16x4" class="anchor"></a><code><span>| </span><span>`SveBFloat16x4</span></code></li><li id="type-builtin_type_kind.SveBool" class="def variant constructor anchored"><a href="#type-builtin_type_kind.SveBool" class="anchor"></a><code><span>| </span><span>`SveBool</span></code></li><li id="type-builtin_type_kind.SveBoolx2" class="def variant constructor anchored"><a href="#type-builtin_type_kind.SveBoolx2" class="anchor"></a><code><span>| </span><span>`SveBoolx2</span></code></li><li id="type-builtin_type_kind.SveBoolx4" class="def variant constructor anchored"><a href="#type-builtin_type_kind.SveBoolx4" class="anchor"></a><code><span>| </span><span>`SveBoolx4</span></code></li><li id="type-builtin_type_kind.SveCount" class="def variant constructor anchored"><a href="#type-builtin_type_kind.SveCount" class="anchor"></a><code><span>| </span><span>`SveCount</span></code></li></ol><code><span> ]</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-cast_kind"><a href="#type-cast_kind" class="anchor"></a><code><span><span class="keyword">type</span> cast_kind</span><span> = </span><span>[ </span></code><ol><li id="type-cast_kind.Dependent" class="def variant constructor anchored"><a href="#type-cast_kind.Dependent" class="anchor"></a><code><span>| </span><span>`Dependent</span></code></li><li id="type-cast_kind.BitCast" class="def variant constructor anchored"><a href="#type-cast_kind.BitCast" class="anchor"></a><code><span>| </span><span>`BitCast</span></code></li><li id="type-cast_kind.LValueBitCast" class="def variant constructor anchored"><a href="#type-cast_kind.LValueBitCast" class="anchor"></a><code><span>| </span><span>`LValueBitCast</span></code></li><li id="type-cast_kind.LValueToRValueBitCast" class="def variant constructor anchored"><a href="#type-cast_kind.LValueToRValueBitCast" class="anchor"></a><code><span>| </span><span>`LValueToRValueBitCast</span></code></li><li id="type-cast_kind.LValueToRValue" class="def variant constructor anchored"><a href="#type-cast_kind.LValueToRValue" class="anchor"></a><code><span>| </span><span>`LValueToRValue</span></code></li><li id="type-cast_kind.NoOp" class="def variant constructor anchored"><a href="#type-cast_kind.NoOp" class="anchor"></a><code><span>| </span><span>`NoOp</span></code></li><li id="type-cast_kind.BaseToDerived" class="def variant constructor anchored"><a href="#type-cast_kind.BaseToDerived" class="anchor"></a><code><span>| </span><span>`BaseToDerived</span></code></li><li id="type-cast_kind.DerivedToBase" class="def variant constructor anchored"><a href="#type-cast_kind.DerivedToBase" class="anchor"></a><code><span>| </span><span>`DerivedToBase</span></code></li><li id="type-cast_kind.UncheckedDerivedToBase" class="def variant constructor anchored"><a href="#type-cast_kind.UncheckedDerivedToBase" class="anchor"></a><code><span>| </span><span>`UncheckedDerivedToBase</span></code></li><li id="type-cast_kind.Dynamic" class="def variant constructor anchored"><a href="#type-cast_kind.Dynamic" class="anchor"></a><code><span>| </span><span>`Dynamic</span></code></li><li id="type-cast_kind.ToUnion" class="def variant constructor anchored"><a href="#type-cast_kind.ToUnion" class="anchor"></a><code><span>| </span><span>`ToUnion</span></code></li><li id="type-cast_kind.ArrayToPointerDecay" class="def variant constructor anchored"><a href="#type-cast_kind.ArrayToPointerDecay" class="anchor"></a><code><span>| </span><span>`ArrayToPointerDecay</span></code></li><li id="type-cast_kind.FunctionToPointerDecay" class="def variant constructor anchored"><a href="#type-cast_kind.FunctionToPointerDecay" class="anchor"></a><code><span>| </span><span>`FunctionToPointerDecay</span></code></li><li id="type-cast_kind.NullToPointer" class="def variant constructor anchored"><a href="#type-cast_kind.NullToPointer" class="anchor"></a><code><span>| </span><span>`NullToPointer</span></code></li><li id="type-cast_kind.NullToMemberPointer" class="def variant constructor anchored"><a href="#type-cast_kind.NullToMemberPointer" class="anchor"></a><code><span>| </span><span>`NullToMemberPointer</span></code></li><li id="type-cast_kind.BaseToDerivedMemberPointer" class="def variant constructor anchored"><a href="#type-cast_kind.BaseToDerivedMemberPointer" class="anchor"></a><code><span>| </span><span>`BaseToDerivedMemberPointer</span></code></li><li id="type-cast_kind.DerivedToBaseMemberPointer" class="def variant constructor anchored"><a href="#type-cast_kind.DerivedToBaseMemberPointer" class="anchor"></a><code><span>| </span><span>`DerivedToBaseMemberPointer</span></code></li><li id="type-cast_kind.MemberPointerToBoolean" class="def variant constructor anchored"><a href="#type-cast_kind.MemberPointerToBoolean" class="anchor"></a><code><span>| </span><span>`MemberPointerToBoolean</span></code></li><li id="type-cast_kind.ReinterpretMemberPointer" class="def variant constructor anchored"><a href="#type-cast_kind.ReinterpretMemberPointer" class="anchor"></a><code><span>| </span><span>`ReinterpretMemberPointer</span></code></li><li id="type-cast_kind.UserDefinedConversion" class="def variant constructor anchored"><a href="#type-cast_kind.UserDefinedConversion" class="anchor"></a><code><span>| </span><span>`UserDefinedConversion</span></code></li><li id="type-cast_kind.ConstructorConversion" class="def variant constructor anchored"><a href="#type-cast_kind.ConstructorConversion" class="anchor"></a><code><span>| </span><span>`ConstructorConversion</span></code></li><li id="type-cast_kind.IntegralToPointer" class="def variant constructor anchored"><a href="#type-cast_kind.IntegralToPointer" class="anchor"></a><code><span>| </span><span>`IntegralToPointer</span></code></li><li id="type-cast_kind.PointerToIntegral" class="def variant constructor anchored"><a href="#type-cast_kind.PointerToIntegral" class="anchor"></a><code><span>| </span><span>`PointerToIntegral</span></code></li><li id="type-cast_kind.PointerToBoolean" class="def variant constructor anchored"><a href="#type-cast_kind.PointerToBoolean" class="anchor"></a><code><span>| </span><span>`PointerToBoolean</span></code></li><li id="type-cast_kind.ToVoid" class="def variant constructor anchored"><a href="#type-cast_kind.ToVoid" class="anchor"></a><code><span>| </span><span>`ToVoid</span></code></li><li id="type-cast_kind.MatrixCast" class="def variant constructor anchored"><a href="#type-cast_kind.MatrixCast" class="anchor"></a><code><span>| </span><span>`MatrixCast</span></code></li><li id="type-cast_kind.VectorSplat" class="def variant constructor anchored"><a href="#type-cast_kind.VectorSplat" class="anchor"></a><code><span>| </span><span>`VectorSplat</span></code></li><li id="type-cast_kind.IntegralCast" class="def variant constructor anchored"><a href="#type-cast_kind.IntegralCast" class="anchor"></a><code><span>| </span><span>`IntegralCast</span></code></li><li id="type-cast_kind.IntegralToBoolean" class="def variant constructor anchored"><a href="#type-cast_kind.IntegralToBoolean" class="anchor"></a><code><span>| </span><span>`IntegralToBoolean</span></code></li><li id="type-cast_kind.IntegralToFloating" class="def variant constructor anchored"><a href="#type-cast_kind.IntegralToFloating" class="anchor"></a><code><span>| </span><span>`IntegralToFloating</span></code></li><li id="type-cast_kind.FloatingToFixedPoint" class="def variant constructor anchored"><a href="#type-cast_kind.FloatingToFixedPoint" class="anchor"></a><code><span>| </span><span>`FloatingToFixedPoint</span></code></li><li id="type-cast_kind.FixedPointToFloating" class="def variant constructor anchored"><a href="#type-cast_kind.FixedPointToFloating" class="anchor"></a><code><span>| </span><span>`FixedPointToFloating</span></code></li><li id="type-cast_kind.FixedPointCast" class="def variant constructor anchored"><a href="#type-cast_kind.FixedPointCast" class="anchor"></a><code><span>| </span><span>`FixedPointCast</span></code></li><li id="type-cast_kind.FixedPointToIntegral" class="def variant constructor anchored"><a href="#type-cast_kind.FixedPointToIntegral" class="anchor"></a><code><span>| </span><span>`FixedPointToIntegral</span></code></li><li id="type-cast_kind.IntegralToFixedPoint" class="def variant constructor anchored"><a href="#type-cast_kind.IntegralToFixedPoint" class="anchor"></a><code><span>| </span><span>`IntegralToFixedPoint</span></code></li><li id="type-cast_kind.FixedPointToBoolean" class="def variant constructor anchored"><a href="#type-cast_kind.FixedPointToBoolean" class="anchor"></a><code><span>| </span><span>`FixedPointToBoolean</span></code></li><li id="type-cast_kind.FloatingToIntegral" class="def variant constructor anchored"><a href="#type-cast_kind.FloatingToIntegral" class="anchor"></a><code><span>| </span><span>`FloatingToIntegral</span></code></li><li id="type-cast_kind.FloatingToBoolean" class="def variant constructor anchored"><a href="#type-cast_kind.FloatingToBoolean" class="anchor"></a><code><span>| </span><span>`FloatingToBoolean</span></code></li><li id="type-cast_kind.BooleanToSignedIntegral" class="def variant constructor anchored"><a href="#type-cast_kind.BooleanToSignedIntegral" class="anchor"></a><code><span>| </span><span>`BooleanToSignedIntegral</span></code></li><li id="type-cast_kind.FloatingCast" class="def variant constructor anchored"><a href="#type-cast_kind.FloatingCast" class="anchor"></a><code><span>| </span><span>`FloatingCast</span></code></li><li id="type-cast_kind.CPointerToObjCPointerCast" class="def variant constructor anchored"><a href="#type-cast_kind.CPointerToObjCPointerCast" class="anchor"></a><code><span>| </span><span>`CPointerToObjCPointerCast</span></code></li><li id="type-cast_kind.BlockPointerToObjCPointerCast" class="def variant constructor anchored"><a href="#type-cast_kind.BlockPointerToObjCPointerCast" class="anchor"></a><code><span>| </span><span>`BlockPointerToObjCPointerCast</span></code></li><li id="type-cast_kind.AnyPointerToBlockPointerCast" class="def variant constructor anchored"><a href="#type-cast_kind.AnyPointerToBlockPointerCast" class="anchor"></a><code><span>| </span><span>`AnyPointerToBlockPointerCast</span></code></li><li id="type-cast_kind.ObjCObjectLValueCast" class="def variant constructor anchored"><a href="#type-cast_kind.ObjCObjectLValueCast" class="anchor"></a><code><span>| </span><span>`ObjCObjectLValueCast</span></code></li><li id="type-cast_kind.FloatingRealToComplex" class="def variant constructor anchored"><a href="#type-cast_kind.FloatingRealToComplex" class="anchor"></a><code><span>| </span><span>`FloatingRealToComplex</span></code></li><li id="type-cast_kind.FloatingComplexToReal" class="def variant constructor anchored"><a href="#type-cast_kind.FloatingComplexToReal" class="anchor"></a><code><span>| </span><span>`FloatingComplexToReal</span></code></li><li id="type-cast_kind.FloatingComplexToBoolean" class="def variant constructor anchored"><a href="#type-cast_kind.FloatingComplexToBoolean" class="anchor"></a><code><span>| </span><span>`FloatingComplexToBoolean</span></code></li><li id="type-cast_kind.FloatingComplexCast" class="def variant constructor anchored"><a href="#type-cast_kind.FloatingComplexCast" class="anchor"></a><code><span>| </span><span>`FloatingComplexCast</span></code></li><li id="type-cast_kind.FloatingComplexToIntegralComplex" class="def variant constructor anchored"><a href="#type-cast_kind.FloatingComplexToIntegralComplex" class="anchor"></a><code><span>| </span><span>`FloatingComplexToIntegralComplex</span></code></li><li id="type-cast_kind.IntegralRealToComplex" class="def variant constructor anchored"><a href="#type-cast_kind.IntegralRealToComplex" class="anchor"></a><code><span>| </span><span>`IntegralRealToComplex</span></code></li><li id="type-cast_kind.IntegralComplexToReal" class="def variant constructor anchored"><a href="#type-cast_kind.IntegralComplexToReal" class="anchor"></a><code><span>| </span><span>`IntegralComplexToReal</span></code></li><li id="type-cast_kind.IntegralComplexToBoolean" class="def variant constructor anchored"><a href="#type-cast_kind.IntegralComplexToBoolean" class="anchor"></a><code><span>| </span><span>`IntegralComplexToBoolean</span></code></li><li id="type-cast_kind.IntegralComplexCast" class="def variant constructor anchored"><a href="#type-cast_kind.IntegralComplexCast" class="anchor"></a><code><span>| </span><span>`IntegralComplexCast</span></code></li><li id="type-cast_kind.IntegralComplexToFloatingComplex" class="def variant constructor anchored"><a href="#type-cast_kind.IntegralComplexToFloatingComplex" class="anchor"></a><code><span>| </span><span>`IntegralComplexToFloatingComplex</span></code></li><li id="type-cast_kind.ARCProduceObject" class="def variant constructor anchored"><a href="#type-cast_kind.ARCProduceObject" class="anchor"></a><code><span>| </span><span>`ARCProduceObject</span></code></li><li id="type-cast_kind.ARCConsumeObject" class="def variant constructor anchored"><a href="#type-cast_kind.ARCConsumeObject" class="anchor"></a><code><span>| </span><span>`ARCConsumeObject</span></code></li><li id="type-cast_kind.ARCReclaimReturnedObject" class="def variant constructor anchored"><a href="#type-cast_kind.ARCReclaimReturnedObject" class="anchor"></a><code><span>| </span><span>`ARCReclaimReturnedObject</span></code></li><li id="type-cast_kind.ARCExtendBlockObject" class="def variant constructor anchored"><a href="#type-cast_kind.ARCExtendBlockObject" class="anchor"></a><code><span>| </span><span>`ARCExtendBlockObject</span></code></li><li id="type-cast_kind.AtomicToNonAtomic" class="def variant constructor anchored"><a href="#type-cast_kind.AtomicToNonAtomic" class="anchor"></a><code><span>| </span><span>`AtomicToNonAtomic</span></code></li><li id="type-cast_kind.NonAtomicToAtomic" class="def variant constructor anchored"><a href="#type-cast_kind.NonAtomicToAtomic" class="anchor"></a><code><span>| </span><span>`NonAtomicToAtomic</span></code></li><li id="type-cast_kind.CopyAndAutoreleaseBlockObject" class="def variant constructor anchored"><a href="#type-cast_kind.CopyAndAutoreleaseBlockObject" class="anchor"></a><code><span>| </span><span>`CopyAndAutoreleaseBlockObject</span></code></li><li id="type-cast_kind.BuiltinFnToFnPtr" class="def variant constructor anchored"><a href="#type-cast_kind.BuiltinFnToFnPtr" class="anchor"></a><code><span>| </span><span>`BuiltinFnToFnPtr</span></code></li><li id="type-cast_kind.ZeroToOCLOpaqueType" class="def variant constructor anchored"><a href="#type-cast_kind.ZeroToOCLOpaqueType" class="anchor"></a><code><span>| </span><span>`ZeroToOCLOpaqueType</span></code></li><li id="type-cast_kind.AddressSpaceConversion" class="def variant constructor anchored"><a href="#type-cast_kind.AddressSpaceConversion" class="anchor"></a><code><span>| </span><span>`AddressSpaceConversion</span></code></li><li id="type-cast_kind.IntToOCLSampler" class="def variant constructor anchored"><a href="#type-cast_kind.IntToOCLSampler" class="anchor"></a><code><span>| </span><span>`IntToOCLSampler</span></code></li></ol><code><span> ]</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-cxx_base_specifier"><a href="#type-cxx_base_specifier" class="anchor"></a><code><span><span class="keyword">type</span> cxx_base_specifier</span><span> = </span><span>{</span></code><ol><li id="type-cxx_base_specifier.xbs_name" class="def record field anchored"><a href="#type-cxx_base_specifier.xbs_name" class="anchor"></a><code><span>xbs_name : string;</span></code></li><li id="type-cxx_base_specifier.xbs_virtual" class="def record field anchored"><a href="#type-cxx_base_specifier.xbs_virtual" class="anchor"></a><code><span>xbs_virtual : bool;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-cast_expr_info"><a href="#type-cast_expr_info" class="anchor"></a><code><span><span class="keyword">type</span> cast_expr_info</span><span> = </span><span>{</span></code><ol><li id="type-cast_expr_info.cei_cast_kind" class="def record field anchored"><a href="#type-cast_expr_info.cei_cast_kind" class="anchor"></a><code><span>cei_cast_kind : <a href="#type-cast_kind">cast_kind</a>;</span></code></li><li id="type-cast_expr_info.cei_base_path" class="def record field anchored"><a href="#type-cast_expr_info.cei_base_path" class="anchor"></a><code><span>cei_base_path : <span><a href="#type-cxx_base_specifier">cxx_base_specifier</a> list</span>;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-cxx_noexcept_expr_info"><a href="#type-cxx_noexcept_expr_info" class="anchor"></a><code><span><span class="keyword">type</span> cxx_noexcept_expr_info</span><span> = </span><span>{</span></code><ol><li id="type-cxx_noexcept_expr_info.xnee_value" class="def record field anchored"><a href="#type-cxx_noexcept_expr_info.xnee_value" class="anchor"></a><code><span>xnee_value : bool;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-decl_context_info"><a href="#type-decl_context_info" class="anchor"></a><code><span><span class="keyword">type</span> decl_context_info</span><span> = </span><span>{</span></code><ol><li id="type-decl_context_info.dci_has_external_lexical_storage" class="def record field anchored"><a href="#type-decl_context_info.dci_has_external_lexical_storage" class="anchor"></a><code><span>dci_has_external_lexical_storage : bool;</span></code></li><li id="type-decl_context_info.dci_has_external_visible_storage" class="def record field anchored"><a href="#type-decl_context_info.dci_has_external_visible_storage" class="anchor"></a><code><span>dci_has_external_visible_storage : bool;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-decl_kind"><a href="#type-decl_kind" class="anchor"></a><code><span><span class="keyword">type</span> decl_kind</span><span> = </span><span>[ </span></code><ol><li id="type-decl_kind.TranslationUnit" class="def variant constructor anchored"><a href="#type-decl_kind.TranslationUnit" class="anchor"></a><code><span>| </span><span>`TranslationUnit</span></code></li><li id="type-decl_kind.RequiresExprBody" class="def variant constructor anchored"><a href="#type-decl_kind.RequiresExprBody" class="anchor"></a><code><span>| </span><span>`RequiresExprBody</span></code></li><li id="type-decl_kind.LinkageSpec" class="def variant constructor anchored"><a href="#type-decl_kind.LinkageSpec" class="anchor"></a><code><span>| </span><span>`LinkageSpec</span></code></li><li id="type-decl_kind.ExternCContext" class="def variant constructor anchored"><a href="#type-decl_kind.ExternCContext" class="anchor"></a><code><span>| </span><span>`ExternCContext</span></code></li><li id="type-decl_kind.Export" class="def variant constructor anchored"><a href="#type-decl_kind.Export" class="anchor"></a><code><span>| </span><span>`Export</span></code></li><li id="type-decl_kind.Captured" class="def variant constructor anchored"><a href="#type-decl_kind.Captured" class="anchor"></a><code><span>| </span><span>`Captured</span></code></li><li id="type-decl_kind.Block" class="def variant constructor anchored"><a href="#type-decl_kind.Block" class="anchor"></a><code><span>| </span><span>`Block</span></code></li><li id="type-decl_kind.TopLevelStmt" class="def variant constructor anchored"><a href="#type-decl_kind.TopLevelStmt" class="anchor"></a><code><span>| </span><span>`TopLevelStmt</span></code></li><li id="type-decl_kind.StaticAssert" class="def variant constructor anchored"><a href="#type-decl_kind.StaticAssert" class="anchor"></a><code><span>| </span><span>`StaticAssert</span></code></li><li id="type-decl_kind.PragmaDetectMismatch" class="def variant constructor anchored"><a href="#type-decl_kind.PragmaDetectMismatch" class="anchor"></a><code><span>| </span><span>`PragmaDetectMismatch</span></code></li><li id="type-decl_kind.PragmaComment" class="def variant constructor anchored"><a href="#type-decl_kind.PragmaComment" class="anchor"></a><code><span>| </span><span>`PragmaComment</span></code></li><li id="type-decl_kind.ObjCPropertyImpl" class="def variant constructor anchored"><a href="#type-decl_kind.ObjCPropertyImpl" class="anchor"></a><code><span>| </span><span>`ObjCPropertyImpl</span></code></li><li id="type-decl_kind.OMPThreadPrivate" class="def variant constructor anchored"><a href="#type-decl_kind.OMPThreadPrivate" class="anchor"></a><code><span>| </span><span>`OMPThreadPrivate</span></code></li><li id="type-decl_kind.OMPRequires" class="def variant constructor anchored"><a href="#type-decl_kind.OMPRequires" class="anchor"></a><code><span>| </span><span>`OMPRequires</span></code></li><li id="type-decl_kind.OMPAllocate" class="def variant constructor anchored"><a href="#type-decl_kind.OMPAllocate" class="anchor"></a><code><span>| </span><span>`OMPAllocate</span></code></li><li id="type-decl_kind.Named" class="def variant constructor anchored"><a href="#type-decl_kind.Named" class="anchor"></a><code><span>| </span><span>`Named</span></code></li><li id="type-decl_kind.ObjCMethod" class="def variant constructor anchored"><a href="#type-decl_kind.ObjCMethod" class="anchor"></a><code><span>| </span><span>`ObjCMethod</span></code></li><li id="type-decl_kind.ObjCContainer" class="def variant constructor anchored"><a href="#type-decl_kind.ObjCContainer" class="anchor"></a><code><span>| </span><span>`ObjCContainer</span></code></li><li id="type-decl_kind.ObjCProtocol" class="def variant constructor anchored"><a href="#type-decl_kind.ObjCProtocol" class="anchor"></a><code><span>| </span><span>`ObjCProtocol</span></code></li><li id="type-decl_kind.ObjCInterface" class="def variant constructor anchored"><a href="#type-decl_kind.ObjCInterface" class="anchor"></a><code><span>| </span><span>`ObjCInterface</span></code></li><li id="type-decl_kind.ObjCImpl" class="def variant constructor anchored"><a href="#type-decl_kind.ObjCImpl" class="anchor"></a><code><span>| </span><span>`ObjCImpl</span></code></li><li id="type-decl_kind.ObjCImplementation" class="def variant constructor anchored"><a href="#type-decl_kind.ObjCImplementation" class="anchor"></a><code><span>| </span><span>`ObjCImplementation</span></code></li><li id="type-decl_kind.ObjCCategoryImpl" class="def variant constructor anchored"><a href="#type-decl_kind.ObjCCategoryImpl" class="anchor"></a><code><span>| </span><span>`ObjCCategoryImpl</span></code></li><li id="type-decl_kind.ObjCCategory" class="def variant constructor anchored"><a href="#type-decl_kind.ObjCCategory" class="anchor"></a><code><span>| </span><span>`ObjCCategory</span></code></li><li id="type-decl_kind.Namespace" class="def variant constructor anchored"><a href="#type-decl_kind.Namespace" class="anchor"></a><code><span>| </span><span>`Namespace</span></code></li><li id="type-decl_kind.HLSLBuffer" class="def variant constructor anchored"><a href="#type-decl_kind.HLSLBuffer" class="anchor"></a><code><span>| </span><span>`HLSLBuffer</span></code></li><li id="type-decl_kind.Value" class="def variant constructor anchored"><a href="#type-decl_kind.Value" class="anchor"></a><code><span>| </span><span>`Value</span></code></li><li id="type-decl_kind.OMPDeclareReduction" class="def variant constructor anchored"><a href="#type-decl_kind.OMPDeclareReduction" class="anchor"></a><code><span>| </span><span>`OMPDeclareReduction</span></code></li><li id="type-decl_kind.OMPDeclareMapper" class="def variant constructor anchored"><a href="#type-decl_kind.OMPDeclareMapper" class="anchor"></a><code><span>| </span><span>`OMPDeclareMapper</span></code></li><li id="type-decl_kind.UnresolvedUsingValue" class="def variant constructor anchored"><a href="#type-decl_kind.UnresolvedUsingValue" class="anchor"></a><code><span>| </span><span>`UnresolvedUsingValue</span></code></li><li id="type-decl_kind.UnnamedGlobalConstant" class="def variant constructor anchored"><a href="#type-decl_kind.UnnamedGlobalConstant" class="anchor"></a><code><span>| </span><span>`UnnamedGlobalConstant</span></code></li><li id="type-decl_kind.TemplateParamObject" class="def variant constructor anchored"><a href="#type-decl_kind.TemplateParamObject" class="anchor"></a><code><span>| </span><span>`TemplateParamObject</span></code></li><li id="type-decl_kind.MSGuid" class="def variant constructor anchored"><a href="#type-decl_kind.MSGuid" class="anchor"></a><code><span>| </span><span>`MSGuid</span></code></li><li id="type-decl_kind.IndirectField" class="def variant constructor anchored"><a href="#type-decl_kind.IndirectField" class="anchor"></a><code><span>| </span><span>`IndirectField</span></code></li><li id="type-decl_kind.EnumConstant" class="def variant constructor anchored"><a href="#type-decl_kind.EnumConstant" class="anchor"></a><code><span>| </span><span>`EnumConstant</span></code></li><li id="type-decl_kind.Declarator" class="def variant constructor anchored"><a href="#type-decl_kind.Declarator" class="anchor"></a><code><span>| </span><span>`Declarator</span></code></li><li id="type-decl_kind.Function" class="def variant constructor anchored"><a href="#type-decl_kind.Function" class="anchor"></a><code><span>| </span><span>`Function</span></code></li><li id="type-decl_kind.CXXMethod" class="def variant constructor anchored"><a href="#type-decl_kind.CXXMethod" class="anchor"></a><code><span>| </span><span>`CXXMethod</span></code></li><li id="type-decl_kind.CXXDestructor" class="def variant constructor anchored"><a href="#type-decl_kind.CXXDestructor" class="anchor"></a><code><span>| </span><span>`CXXDestructor</span></code></li><li id="type-decl_kind.CXXConversion" class="def variant constructor anchored"><a href="#type-decl_kind.CXXConversion" class="anchor"></a><code><span>| </span><span>`CXXConversion</span></code></li><li id="type-decl_kind.CXXConstructor" class="def variant constructor anchored"><a href="#type-decl_kind.CXXConstructor" class="anchor"></a><code><span>| </span><span>`CXXConstructor</span></code></li><li id="type-decl_kind.CXXDeductionGuide" class="def variant constructor anchored"><a href="#type-decl_kind.CXXDeductionGuide" class="anchor"></a><code><span>| </span><span>`CXXDeductionGuide</span></code></li><li id="type-decl_kind.Var" class="def variant constructor anchored"><a href="#type-decl_kind.Var" class="anchor"></a><code><span>| </span><span>`Var</span></code></li><li id="type-decl_kind.VarTemplateSpecialization" class="def variant constructor anchored"><a href="#type-decl_kind.VarTemplateSpecialization" class="anchor"></a><code><span>| </span><span>`VarTemplateSpecialization</span></code></li><li id="type-decl_kind.VarTemplatePartialSpecialization" class="def variant constructor anchored"><a href="#type-decl_kind.VarTemplatePartialSpecialization" class="anchor"></a><code><span>| </span><span>`VarTemplatePartialSpecialization</span></code></li><li id="type-decl_kind.ParmVar" class="def variant constructor anchored"><a href="#type-decl_kind.ParmVar" class="anchor"></a><code><span>| </span><span>`ParmVar</span></code></li><li id="type-decl_kind.OMPCapturedExpr" class="def variant constructor anchored"><a href="#type-decl_kind.OMPCapturedExpr" class="anchor"></a><code><span>| </span><span>`OMPCapturedExpr</span></code></li><li id="type-decl_kind.ImplicitParam" class="def variant constructor anchored"><a href="#type-decl_kind.ImplicitParam" class="anchor"></a><code><span>| </span><span>`ImplicitParam</span></code></li><li id="type-decl_kind.Decomposition" class="def variant constructor anchored"><a href="#type-decl_kind.Decomposition" class="anchor"></a><code><span>| </span><span>`Decomposition</span></code></li><li id="type-decl_kind.NonTypeTemplateParm" class="def variant constructor anchored"><a href="#type-decl_kind.NonTypeTemplateParm" class="anchor"></a><code><span>| </span><span>`NonTypeTemplateParm</span></code></li><li id="type-decl_kind.MSProperty" class="def variant constructor anchored"><a href="#type-decl_kind.MSProperty" class="anchor"></a><code><span>| </span><span>`MSProperty</span></code></li><li id="type-decl_kind.Field" class="def variant constructor anchored"><a href="#type-decl_kind.Field" class="anchor"></a><code><span>| </span><span>`Field</span></code></li><li id="type-decl_kind.ObjCIvar" class="def variant constructor anchored"><a href="#type-decl_kind.ObjCIvar" class="anchor"></a><code><span>| </span><span>`ObjCIvar</span></code></li><li id="type-decl_kind.ObjCAtDefsField" class="def variant constructor anchored"><a href="#type-decl_kind.ObjCAtDefsField" class="anchor"></a><code><span>| </span><span>`ObjCAtDefsField</span></code></li><li id="type-decl_kind.Binding" class="def variant constructor anchored"><a href="#type-decl_kind.Binding" class="anchor"></a><code><span>| </span><span>`Binding</span></code></li><li id="type-decl_kind.UsingShadow" class="def variant constructor anchored"><a href="#type-decl_kind.UsingShadow" class="anchor"></a><code><span>| </span><span>`UsingShadow</span></code></li><li id="type-decl_kind.ConstructorUsingShadow" class="def variant constructor anchored"><a href="#type-decl_kind.ConstructorUsingShadow" class="anchor"></a><code><span>| </span><span>`ConstructorUsingShadow</span></code></li><li id="type-decl_kind.UsingPack" class="def variant constructor anchored"><a href="#type-decl_kind.UsingPack" class="anchor"></a><code><span>| </span><span>`UsingPack</span></code></li><li id="type-decl_kind.UsingDirective" class="def variant constructor anchored"><a href="#type-decl_kind.UsingDirective" class="anchor"></a><code><span>| </span><span>`UsingDirective</span></code></li><li id="type-decl_kind.UnresolvedUsingIfExists" class="def variant constructor anchored"><a href="#type-decl_kind.UnresolvedUsingIfExists" class="anchor"></a><code><span>| </span><span>`UnresolvedUsingIfExists</span></code></li><li id="type-decl_kind.Type" class="def variant constructor anchored"><a href="#type-decl_kind.Type" class="anchor"></a><code><span>| </span><span>`Type</span></code></li><li id="type-decl_kind.Tag" class="def variant constructor anchored"><a href="#type-decl_kind.Tag" class="anchor"></a><code><span>| </span><span>`Tag</span></code></li><li id="type-decl_kind.Record" class="def variant constructor anchored"><a href="#type-decl_kind.Record" class="anchor"></a><code><span>| </span><span>`Record</span></code></li><li id="type-decl_kind.CXXRecord" class="def variant constructor anchored"><a href="#type-decl_kind.CXXRecord" class="anchor"></a><code><span>| </span><span>`CXXRecord</span></code></li><li id="type-decl_kind.ClassTemplateSpecialization" class="def variant constructor anchored"><a href="#type-decl_kind.ClassTemplateSpecialization" class="anchor"></a><code><span>| </span><span>`ClassTemplateSpecialization</span></code></li><li id="type-decl_kind.ClassTemplatePartialSpecialization" class="def variant constructor anchored"><a href="#type-decl_kind.ClassTemplatePartialSpecialization" class="anchor"></a><code><span>| </span><span>`ClassTemplatePartialSpecialization</span></code></li><li id="type-decl_kind.Enum" class="def variant constructor anchored"><a href="#type-decl_kind.Enum" class="anchor"></a><code><span>| </span><span>`Enum</span></code></li><li id="type-decl_kind.UnresolvedUsingTypename" class="def variant constructor anchored"><a href="#type-decl_kind.UnresolvedUsingTypename" class="anchor"></a><code><span>| </span><span>`UnresolvedUsingTypename</span></code></li><li id="type-decl_kind.TypedefName" class="def variant constructor anchored"><a href="#type-decl_kind.TypedefName" class="anchor"></a><code><span>| </span><span>`TypedefName</span></code></li><li id="type-decl_kind.Typedef" class="def variant constructor anchored"><a href="#type-decl_kind.Typedef" class="anchor"></a><code><span>| </span><span>`Typedef</span></code></li><li id="type-decl_kind.TypeAlias" class="def variant constructor anchored"><a href="#type-decl_kind.TypeAlias" class="anchor"></a><code><span>| </span><span>`TypeAlias</span></code></li><li id="type-decl_kind.ObjCTypeParam" class="def variant constructor anchored"><a href="#type-decl_kind.ObjCTypeParam" class="anchor"></a><code><span>| </span><span>`ObjCTypeParam</span></code></li><li id="type-decl_kind.TemplateTypeParm" class="def variant constructor anchored"><a href="#type-decl_kind.TemplateTypeParm" class="anchor"></a><code><span>| </span><span>`TemplateTypeParm</span></code></li><li id="type-decl_kind.Template" class="def variant constructor anchored"><a href="#type-decl_kind.Template" class="anchor"></a><code><span>| </span><span>`Template</span></code></li><li id="type-decl_kind.TemplateTemplateParm" class="def variant constructor anchored"><a href="#type-decl_kind.TemplateTemplateParm" class="anchor"></a><code><span>| </span><span>`TemplateTemplateParm</span></code></li><li id="type-decl_kind.RedeclarableTemplate" class="def variant constructor anchored"><a href="#type-decl_kind.RedeclarableTemplate" class="anchor"></a><code><span>| </span><span>`RedeclarableTemplate</span></code></li><li id="type-decl_kind.VarTemplate" class="def variant constructor anchored"><a href="#type-decl_kind.VarTemplate" class="anchor"></a><code><span>| </span><span>`VarTemplate</span></code></li><li id="type-decl_kind.TypeAliasTemplate" class="def variant constructor anchored"><a href="#type-decl_kind.TypeAliasTemplate" class="anchor"></a><code><span>| </span><span>`TypeAliasTemplate</span></code></li><li id="type-decl_kind.FunctionTemplate" class="def variant constructor anchored"><a href="#type-decl_kind.FunctionTemplate" class="anchor"></a><code><span>| </span><span>`FunctionTemplate</span></code></li><li id="type-decl_kind.ClassTemplate" class="def variant constructor anchored"><a href="#type-decl_kind.ClassTemplate" class="anchor"></a><code><span>| </span><span>`ClassTemplate</span></code></li><li id="type-decl_kind.Concept" class="def variant constructor anchored"><a href="#type-decl_kind.Concept" class="anchor"></a><code><span>| </span><span>`Concept</span></code></li><li id="type-decl_kind.BuiltinTemplate" class="def variant constructor anchored"><a href="#type-decl_kind.BuiltinTemplate" class="anchor"></a><code><span>| </span><span>`BuiltinTemplate</span></code></li><li id="type-decl_kind.ObjCProperty" class="def variant constructor anchored"><a href="#type-decl_kind.ObjCProperty" class="anchor"></a><code><span>| </span><span>`ObjCProperty</span></code></li><li id="type-decl_kind.ObjCCompatibleAlias" class="def variant constructor anchored"><a href="#type-decl_kind.ObjCCompatibleAlias" class="anchor"></a><code><span>| </span><span>`ObjCCompatibleAlias</span></code></li><li id="type-decl_kind.NamespaceAlias" class="def variant constructor anchored"><a href="#type-decl_kind.NamespaceAlias" class="anchor"></a><code><span>| </span><span>`NamespaceAlias</span></code></li><li id="type-decl_kind.Label" class="def variant constructor anchored"><a href="#type-decl_kind.Label" class="anchor"></a><code><span>| </span><span>`Label</span></code></li><li id="type-decl_kind.BaseUsing" class="def variant constructor anchored"><a href="#type-decl_kind.BaseUsing" class="anchor"></a><code><span>| </span><span>`BaseUsing</span></code></li><li id="type-decl_kind.UsingEnum" class="def variant constructor anchored"><a href="#type-decl_kind.UsingEnum" class="anchor"></a><code><span>| </span><span>`UsingEnum</span></code></li><li id="type-decl_kind.Using" class="def variant constructor anchored"><a href="#type-decl_kind.Using" class="anchor"></a><code><span>| </span><span>`Using</span></code></li><li id="type-decl_kind.LifetimeExtendedTemporary" class="def variant constructor anchored"><a href="#type-decl_kind.LifetimeExtendedTemporary" class="anchor"></a><code><span>| </span><span>`LifetimeExtendedTemporary</span></code></li><li id="type-decl_kind.Import" class="def variant constructor anchored"><a href="#type-decl_kind.Import" class="anchor"></a><code><span>| </span><span>`Import</span></code></li><li id="type-decl_kind.ImplicitConceptSpecialization" class="def variant constructor anchored"><a href="#type-decl_kind.ImplicitConceptSpecialization" class="anchor"></a><code><span>| </span><span>`ImplicitConceptSpecialization</span></code></li><li id="type-decl_kind.FriendTemplate" class="def variant constructor anchored"><a href="#type-decl_kind.FriendTemplate" class="anchor"></a><code><span>| </span><span>`FriendTemplate</span></code></li><li id="type-decl_kind.Friend" class="def variant constructor anchored"><a href="#type-decl_kind.Friend" class="anchor"></a><code><span>| </span><span>`Friend</span></code></li><li id="type-decl_kind.FileScopeAsm" class="def variant constructor anchored"><a href="#type-decl_kind.FileScopeAsm" class="anchor"></a><code><span>| </span><span>`FileScopeAsm</span></code></li><li id="type-decl_kind.Empty" class="def variant constructor anchored"><a href="#type-decl_kind.Empty" class="anchor"></a><code><span>| </span><span>`Empty</span></code></li><li id="type-decl_kind.AccessSpec" class="def variant constructor anchored"><a href="#type-decl_kind.AccessSpec" class="anchor"></a><code><span>| </span><span>`AccessSpec</span></code></li></ol><code><span> ]</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-declaration_name_kind"><a href="#type-declaration_name_kind" class="anchor"></a><code><span><span class="keyword">type</span> declaration_name_kind</span><span> = </span><span>[ </span></code><ol><li id="type-declaration_name_kind.Identifier" class="def variant constructor anchored"><a href="#type-declaration_name_kind.Identifier" class="anchor"></a><code><span>| </span><span>`Identifier</span></code></li><li id="type-declaration_name_kind.ObjCZeroArgSelector" class="def variant constructor anchored"><a href="#type-declaration_name_kind.ObjCZeroArgSelector" class="anchor"></a><code><span>| </span><span>`ObjCZeroArgSelector</span></code></li><li id="type-declaration_name_kind.ObjCOneArgSelector" class="def variant constructor anchored"><a href="#type-declaration_name_kind.ObjCOneArgSelector" class="anchor"></a><code><span>| </span><span>`ObjCOneArgSelector</span></code></li><li id="type-declaration_name_kind.ObjCMultiArgSelector" class="def variant constructor anchored"><a href="#type-declaration_name_kind.ObjCMultiArgSelector" class="anchor"></a><code><span>| </span><span>`ObjCMultiArgSelector</span></code></li><li id="type-declaration_name_kind.CXXConstructorName" class="def variant constructor anchored"><a href="#type-declaration_name_kind.CXXConstructorName" class="anchor"></a><code><span>| </span><span>`CXXConstructorName</span></code></li><li id="type-declaration_name_kind.CXXDestructorName" class="def variant constructor anchored"><a href="#type-declaration_name_kind.CXXDestructorName" class="anchor"></a><code><span>| </span><span>`CXXDestructorName</span></code></li><li id="type-declaration_name_kind.CXXConversionFunctionName" class="def variant constructor anchored"><a href="#type-declaration_name_kind.CXXConversionFunctionName" class="anchor"></a><code><span>| </span><span>`CXXConversionFunctionName</span></code></li><li id="type-declaration_name_kind.CXXOperatorName" class="def variant constructor anchored"><a href="#type-declaration_name_kind.CXXOperatorName" class="anchor"></a><code><span>| </span><span>`CXXOperatorName</span></code></li><li id="type-declaration_name_kind.CXXLiteralOperatorName" class="def variant constructor anchored"><a href="#type-declaration_name_kind.CXXLiteralOperatorName" class="anchor"></a><code><span>| </span><span>`CXXLiteralOperatorName</span></code></li><li id="type-declaration_name_kind.CXXUsingDirective" class="def variant constructor anchored"><a href="#type-declaration_name_kind.CXXUsingDirective" class="anchor"></a><code><span>| </span><span>`CXXUsingDirective</span></code></li><li id="type-declaration_name_kind.CXXDeductionGuideName" class="def variant constructor anchored"><a href="#type-declaration_name_kind.CXXDeductionGuideName" class="anchor"></a><code><span>| </span><span>`CXXDeductionGuideName</span></code></li></ol><code><span> ]</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-declaration_name"><a href="#type-declaration_name" class="anchor"></a><code><span><span class="keyword">type</span> declaration_name</span><span> = </span><span>{</span></code><ol><li id="type-declaration_name.dn_kind" class="def record field anchored"><a href="#type-declaration_name.dn_kind" class="anchor"></a><code><span>dn_kind : <a href="#type-declaration_name_kind">declaration_name_kind</a>;</span></code></li><li id="type-declaration_name.dn_name" class="def record field anchored"><a href="#type-declaration_name.dn_name" class="anchor"></a><code><span>dn_name : string;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-enum_decl_scope"><a href="#type-enum_decl_scope" class="anchor"></a><code><span><span class="keyword">type</span> enum_decl_scope</span><span> = </span><span>[ </span></code><ol><li id="type-enum_decl_scope.Class" class="def variant constructor anchored"><a href="#type-enum_decl_scope.Class" class="anchor"></a><code><span>| </span><span>`Class</span></code></li><li id="type-enum_decl_scope.Struct" class="def variant constructor anchored"><a href="#type-enum_decl_scope.Struct" class="anchor"></a><code><span>| </span><span>`Struct</span></code></li></ol><code><span> ]</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-enum_decl_info"><a href="#type-enum_decl_info" class="anchor"></a><code><span><span class="keyword">type</span> enum_decl_info</span><span> = </span><span>{</span></code><ol><li id="type-enum_decl_info.edi_scope" class="def record field anchored"><a href="#type-enum_decl_info.edi_scope" class="anchor"></a><code><span>edi_scope : <span><a href="#type-enum_decl_scope">enum_decl_scope</a> option</span>;</span></code></li><li id="type-enum_decl_info.edi_is_module_private" class="def record field anchored"><a href="#type-enum_decl_info.edi_is_module_private" class="anchor"></a><code><span>edi_is_module_private : bool;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-input_kind"><a href="#type-input_kind" class="anchor"></a><code><span><span class="keyword">type</span> input_kind</span><span> = </span><span>[ </span></code><ol><li id="type-input_kind.IK_None" class="def variant constructor anchored"><a href="#type-input_kind.IK_None" class="anchor"></a><code><span>| </span><span>`IK_None</span></code></li><li id="type-input_kind.IK_Asm" class="def variant constructor anchored"><a href="#type-input_kind.IK_Asm" class="anchor"></a><code><span>| </span><span>`IK_Asm</span></code></li><li id="type-input_kind.IK_C" class="def variant constructor anchored"><a href="#type-input_kind.IK_C" class="anchor"></a><code><span>| </span><span>`IK_C</span></code></li><li id="type-input_kind.IK_CXX" class="def variant constructor anchored"><a href="#type-input_kind.IK_CXX" class="anchor"></a><code><span>| </span><span>`IK_CXX</span></code></li><li id="type-input_kind.IK_ObjC" class="def variant constructor anchored"><a href="#type-input_kind.IK_ObjC" class="anchor"></a><code><span>| </span><span>`IK_ObjC</span></code></li><li id="type-input_kind.IK_ObjCXX" class="def variant constructor anchored"><a href="#type-input_kind.IK_ObjCXX" class="anchor"></a><code><span>| </span><span>`IK_ObjCXX</span></code></li><li id="type-input_kind.IK_OpenCL" class="def variant constructor anchored"><a href="#type-input_kind.IK_OpenCL" class="anchor"></a><code><span>| </span><span>`IK_OpenCL</span></code></li><li id="type-input_kind.IK_CUDA" class="def variant constructor anchored"><a href="#type-input_kind.IK_CUDA" class="anchor"></a><code><span>| </span><span>`IK_CUDA</span></code></li><li id="type-input_kind.IK_HIP" class="def variant constructor anchored"><a href="#type-input_kind.IK_HIP" class="anchor"></a><code><span>| </span><span>`IK_HIP</span></code></li><li id="type-input_kind.IK_RenderScript" class="def variant constructor anchored"><a href="#type-input_kind.IK_RenderScript" class="anchor"></a><code><span>| </span><span>`IK_RenderScript</span></code></li><li id="type-input_kind.IK_LLVM_IR" class="def variant constructor anchored"><a href="#type-input_kind.IK_LLVM_IR" class="anchor"></a><code><span>| </span><span>`IK_LLVM_IR</span></code></li><li id="type-input_kind.IK_HLSL" class="def variant constructor anchored"><a href="#type-input_kind.IK_HLSL" class="anchor"></a><code><span>| </span><span>`IK_HLSL</span></code></li></ol><code><span> ]</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-integer_literal_info"><a href="#type-integer_literal_info" class="anchor"></a><code><span><span class="keyword">type</span> integer_literal_info</span><span> = </span><span>{</span></code><ol><li id="type-integer_literal_info.ili_is_signed" class="def record field anchored"><a href="#type-integer_literal_info.ili_is_signed" class="anchor"></a><code><span>ili_is_signed : bool;</span></code></li><li id="type-integer_literal_info.ili_bitwidth" class="def record field anchored"><a href="#type-integer_literal_info.ili_bitwidth" class="anchor"></a><code><span>ili_bitwidth : int;</span></code></li><li id="type-integer_literal_info.ili_value" class="def record field anchored"><a href="#type-integer_literal_info.ili_value" class="anchor"></a><code><span>ili_value : string;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-integer_type_widths"><a href="#type-integer_type_widths" class="anchor"></a><code><span><span class="keyword">type</span> integer_type_widths</span><span> = </span><span>{</span></code><ol><li id="type-integer_type_widths.itw_char_type" class="def record field anchored"><a href="#type-integer_type_widths.itw_char_type" class="anchor"></a><code><span>itw_char_type : int;</span></code></li><li id="type-integer_type_widths.itw_short_type" class="def record field anchored"><a href="#type-integer_type_widths.itw_short_type" class="anchor"></a><code><span>itw_short_type : int;</span></code></li><li id="type-integer_type_widths.itw_int_type" class="def record field anchored"><a href="#type-integer_type_widths.itw_int_type" class="anchor"></a><code><span>itw_int_type : int;</span></code></li><li id="type-integer_type_widths.itw_long_type" class="def record field anchored"><a href="#type-integer_type_widths.itw_long_type" class="anchor"></a><code><span>itw_long_type : int;</span></code></li><li id="type-integer_type_widths.itw_longlong_type" class="def record field anchored"><a href="#type-integer_type_widths.itw_longlong_type" class="anchor"></a><code><span>itw_longlong_type : int;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-lambda_capture_kind"><a href="#type-lambda_capture_kind" class="anchor"></a><code><span><span class="keyword">type</span> lambda_capture_kind</span><span> = </span><span>[ </span></code><ol><li id="type-lambda_capture_kind.LCK_This" class="def variant constructor anchored"><a href="#type-lambda_capture_kind.LCK_This" class="anchor"></a><code><span>| </span><span>`LCK_This</span></code></li><li id="type-lambda_capture_kind.LCK_ByCopy" class="def variant constructor anchored"><a href="#type-lambda_capture_kind.LCK_ByCopy" class="anchor"></a><code><span>| </span><span>`LCK_ByCopy</span></code></li><li id="type-lambda_capture_kind.LCK_ByRef" class="def variant constructor anchored"><a href="#type-lambda_capture_kind.LCK_ByRef" class="anchor"></a><code><span>| </span><span>`LCK_ByRef</span></code></li><li id="type-lambda_capture_kind.LCK_VLAType" class="def variant constructor anchored"><a href="#type-lambda_capture_kind.LCK_VLAType" class="anchor"></a><code><span>| </span><span>`LCK_VLAType</span></code></li><li id="type-lambda_capture_kind.LCK_StarThis" class="def variant constructor anchored"><a href="#type-lambda_capture_kind.LCK_StarThis" class="anchor"></a><code><span>| </span><span>`LCK_StarThis</span></code></li></ol><code><span> ]</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-named_decl_info"><a href="#type-named_decl_info" class="anchor"></a><code><span><span class="keyword">type</span> named_decl_info</span><span> = </span><span>{</span></code><ol><li id="type-named_decl_info.ni_name" class="def record field anchored"><a href="#type-named_decl_info.ni_name" class="anchor"></a><code><span>ni_name : string;</span></code></li><li id="type-named_decl_info.ni_qual_name" class="def record field anchored"><a href="#type-named_decl_info.ni_qual_name" class="anchor"></a><code><span>ni_qual_name : <span>string list</span>;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-obj_c_access_control"><a href="#type-obj_c_access_control" class="anchor"></a><code><span><span class="keyword">type</span> obj_c_access_control</span><span> = </span><span>[ </span></code><ol><li id="type-obj_c_access_control.None" class="def variant constructor anchored"><a href="#type-obj_c_access_control.None" class="anchor"></a><code><span>| </span><span>`None</span></code></li><li id="type-obj_c_access_control.Private" class="def variant constructor anchored"><a href="#type-obj_c_access_control.Private" class="anchor"></a><code><span>| </span><span>`Private</span></code></li><li id="type-obj_c_access_control.Protected" class="def variant constructor anchored"><a href="#type-obj_c_access_control.Protected" class="anchor"></a><code><span>| </span><span>`Protected</span></code></li><li id="type-obj_c_access_control.Public" class="def variant constructor anchored"><a href="#type-obj_c_access_control.Public" class="anchor"></a><code><span>| </span><span>`Public</span></code></li><li id="type-obj_c_access_control.Package" class="def variant constructor anchored"><a href="#type-obj_c_access_control.Package" class="anchor"></a><code><span>| </span><span>`Package</span></code></li></ol><code><span> ]</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-obj_c_availability_check_expr_info"><a href="#type-obj_c_availability_check_expr_info" class="anchor"></a><code><span><span class="keyword">type</span> obj_c_availability_check_expr_info</span><span> = </span><span>{</span></code><ol><li id="type-obj_c_availability_check_expr_info.oacei_version" class="def record field anchored"><a href="#type-obj_c_availability_check_expr_info.oacei_version" class="anchor"></a><code><span>oacei_version : <span>string option</span>;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-obj_c_bridge_cast_kind"><a href="#type-obj_c_bridge_cast_kind" class="anchor"></a><code><span><span class="keyword">type</span> obj_c_bridge_cast_kind</span><span> = </span><span>[ </span></code><ol><li id="type-obj_c_bridge_cast_kind.OBC_BridgeRetained" class="def variant constructor anchored"><a href="#type-obj_c_bridge_cast_kind.OBC_BridgeRetained" class="anchor"></a><code><span>| </span><span>`OBC_BridgeRetained</span></code></li><li id="type-obj_c_bridge_cast_kind.OBC_Bridge" class="def variant constructor anchored"><a href="#type-obj_c_bridge_cast_kind.OBC_Bridge" class="anchor"></a><code><span>| </span><span>`OBC_Bridge</span></code></li><li id="type-obj_c_bridge_cast_kind.OBC_BridgeTransfer" class="def variant constructor anchored"><a href="#type-obj_c_bridge_cast_kind.OBC_BridgeTransfer" class="anchor"></a><code><span>| </span><span>`OBC_BridgeTransfer</span></code></li></ol><code><span> ]</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-obj_c_bridged_cast_expr_info"><a href="#type-obj_c_bridged_cast_expr_info" class="anchor"></a><code><span><span class="keyword">type</span> obj_c_bridged_cast_expr_info</span><span> = </span><span>{</span></code><ol><li id="type-obj_c_bridged_cast_expr_info.obcei_cast_kind" class="def record field anchored"><a href="#type-obj_c_bridged_cast_expr_info.obcei_cast_kind" class="anchor"></a><code><span>obcei_cast_kind : <a href="#type-obj_c_bridge_cast_kind">obj_c_bridge_cast_kind</a>;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-obj_c_ivar_decl_info"><a href="#type-obj_c_ivar_decl_info" class="anchor"></a><code><span><span class="keyword">type</span> obj_c_ivar_decl_info</span><span> = </span><span>{</span></code><ol><li id="type-obj_c_ivar_decl_info.ovdi_is_synthesize" class="def record field anchored"><a href="#type-obj_c_ivar_decl_info.ovdi_is_synthesize" class="anchor"></a><code><span>ovdi_is_synthesize : bool;</span></code></li><li id="type-obj_c_ivar_decl_info.ovdi_access_control" class="def record field anchored"><a href="#type-obj_c_ivar_decl_info.ovdi_access_control" class="anchor"></a><code><span>ovdi_access_control : <a href="#type-obj_c_access_control">obj_c_access_control</a>;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-obj_c_property_control"><a href="#type-obj_c_property_control" class="anchor"></a><code><span><span class="keyword">type</span> obj_c_property_control</span><span> = </span><span>[ </span></code><ol><li id="type-obj_c_property_control.None" class="def variant constructor anchored"><a href="#type-obj_c_property_control.None" class="anchor"></a><code><span>| </span><span>`None</span></code></li><li id="type-obj_c_property_control.Required" class="def variant constructor anchored"><a href="#type-obj_c_property_control.Required" class="anchor"></a><code><span>| </span><span>`Required</span></code></li><li id="type-obj_c_property_control.Optional" class="def variant constructor anchored"><a href="#type-obj_c_property_control.Optional" class="anchor"></a><code><span>| </span><span>`Optional</span></code></li></ol><code><span> ]</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-obj_c_subscript_kind"><a href="#type-obj_c_subscript_kind" class="anchor"></a><code><span><span class="keyword">type</span> obj_c_subscript_kind</span><span> = </span><span>[ </span></code><ol><li id="type-obj_c_subscript_kind.ArraySubscript" class="def variant constructor anchored"><a href="#type-obj_c_subscript_kind.ArraySubscript" class="anchor"></a><code><span>| </span><span>`ArraySubscript</span></code></li><li id="type-obj_c_subscript_kind.DictionarySubscript" class="def variant constructor anchored"><a href="#type-obj_c_subscript_kind.DictionarySubscript" class="anchor"></a><code><span>| </span><span>`DictionarySubscript</span></code></li></ol><code><span> ]</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-objc_lifetime_attr"><a href="#type-objc_lifetime_attr" class="anchor"></a><code><span><span class="keyword">type</span> objc_lifetime_attr</span><span> = </span><span>[ </span></code><ol><li id="type-objc_lifetime_attr.OCL_None" class="def variant constructor anchored"><a href="#type-objc_lifetime_attr.OCL_None" class="anchor"></a><code><span>| </span><span>`OCL_None</span></code></li><li id="type-objc_lifetime_attr.OCL_ExplicitNone" class="def variant constructor anchored"><a href="#type-objc_lifetime_attr.OCL_ExplicitNone" class="anchor"></a><code><span>| </span><span>`OCL_ExplicitNone</span></code></li><li id="type-objc_lifetime_attr.OCL_Strong" class="def variant constructor anchored"><a href="#type-objc_lifetime_attr.OCL_Strong" class="anchor"></a><code><span>| </span><span>`OCL_Strong</span></code></li><li id="type-objc_lifetime_attr.OCL_Weak" class="def variant constructor anchored"><a href="#type-objc_lifetime_attr.OCL_Weak" class="anchor"></a><code><span>| </span><span>`OCL_Weak</span></code></li><li id="type-objc_lifetime_attr.OCL_Autoreleasing" class="def variant constructor anchored"><a href="#type-objc_lifetime_attr.OCL_Autoreleasing" class="anchor"></a><code><span>| </span><span>`OCL_Autoreleasing</span></code></li></ol><code><span> ]</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-attr_type_info"><a href="#type-attr_type_info" class="anchor"></a><code><span><span class="keyword">type</span> attr_type_info</span><span> = </span><span>{</span></code><ol><li id="type-attr_type_info.ati_attr_kind" class="def record field anchored"><a href="#type-attr_type_info.ati_attr_kind" class="anchor"></a><code><span>ati_attr_kind : <a href="#type-attribute_kind">attribute_kind</a>;</span></code></li><li id="type-attr_type_info.ati_lifetime" class="def record field anchored"><a href="#type-attr_type_info.ati_lifetime" class="anchor"></a><code><span>ati_lifetime : <a href="#type-objc_lifetime_attr">objc_lifetime_attr</a>;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-object_kind"><a href="#type-object_kind" class="anchor"></a><code><span><span class="keyword">type</span> object_kind</span><span> = </span><span>[ </span></code><ol><li id="type-object_kind.Ordinary" class="def variant constructor anchored"><a href="#type-object_kind.Ordinary" class="anchor"></a><code><span>| </span><span>`Ordinary</span></code></li><li id="type-object_kind.BitField" class="def variant constructor anchored"><a href="#type-object_kind.BitField" class="anchor"></a><code><span>| </span><span>`BitField</span></code></li><li id="type-object_kind.ObjCProperty" class="def variant constructor anchored"><a href="#type-object_kind.ObjCProperty" class="anchor"></a><code><span>| </span><span>`ObjCProperty</span></code></li><li id="type-object_kind.ObjCSubscript" class="def variant constructor anchored"><a href="#type-object_kind.ObjCSubscript" class="anchor"></a><code><span>| </span><span>`ObjCSubscript</span></code></li><li id="type-object_kind.VectorComponent" class="def variant constructor anchored"><a href="#type-object_kind.VectorComponent" class="anchor"></a><code><span>| </span><span>`VectorComponent</span></code></li></ol><code><span> ]</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-offset_of_expr_info"><a href="#type-offset_of_expr_info" class="anchor"></a><code><span><span class="keyword">type</span> offset_of_expr_info</span><span> = </span><span>{</span></code><ol><li id="type-offset_of_expr_info.ooe_literal" class="def record field anchored"><a href="#type-offset_of_expr_info.ooe_literal" class="anchor"></a><code><span>ooe_literal : <span><a href="#type-integer_literal_info">integer_literal_info</a> option</span>;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-pointer"><a href="#type-pointer" class="anchor"></a><code><span><span class="keyword">type</span> pointer</span><span> = int</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-addr_label_expr_info"><a href="#type-addr_label_expr_info" class="anchor"></a><code><span><span class="keyword">type</span> addr_label_expr_info</span><span> = </span><span>{</span></code><ol><li id="type-addr_label_expr_info.alei_label" class="def record field anchored"><a href="#type-addr_label_expr_info.alei_label" class="anchor"></a><code><span>alei_label : string;</span></code></li><li id="type-addr_label_expr_info.alei_pointer" class="def record field anchored"><a href="#type-addr_label_expr_info.alei_pointer" class="anchor"></a><code><span>alei_pointer : <a href="#type-pointer">pointer</a>;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-cxx_new_expr_info"><a href="#type-cxx_new_expr_info" class="anchor"></a><code><span><span class="keyword">type</span> cxx_new_expr_info</span><span> = </span><span>{</span></code><ol><li id="type-cxx_new_expr_info.xnei_is_array" class="def record field anchored"><a href="#type-cxx_new_expr_info.xnei_is_array" class="anchor"></a><code><span>xnei_is_array : bool;</span></code></li><li id="type-cxx_new_expr_info.xnei_array_size_expr" class="def record field anchored"><a href="#type-cxx_new_expr_info.xnei_array_size_expr" class="anchor"></a><code><span>xnei_array_size_expr : <span><a href="#type-pointer">pointer</a> option</span>;</span></code></li><li id="type-cxx_new_expr_info.xnei_initializer_expr" class="def record field anchored"><a href="#type-cxx_new_expr_info.xnei_initializer_expr" class="anchor"></a><code><span>xnei_initializer_expr : <span><a href="#type-pointer">pointer</a> option</span>;</span></code></li><li id="type-cxx_new_expr_info.xnei_placement_args" class="def record field anchored"><a href="#type-cxx_new_expr_info.xnei_placement_args" class="anchor"></a><code><span>xnei_placement_args : <span><a href="#type-pointer">pointer</a> list</span>;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-cxx_temporary"><a href="#type-cxx_temporary" class="anchor"></a><code><span><span class="keyword">type</span> cxx_temporary</span><span> = <a href="#type-pointer">pointer</a></span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-cxx_bind_temporary_expr_info"><a href="#type-cxx_bind_temporary_expr_info" class="anchor"></a><code><span><span class="keyword">type</span> cxx_bind_temporary_expr_info</span><span> = </span><span>{</span></code><ol><li id="type-cxx_bind_temporary_expr_info.xbtei_cxx_temporary" class="def record field anchored"><a href="#type-cxx_bind_temporary_expr_info.xbtei_cxx_temporary" class="anchor"></a><code><span>xbtei_cxx_temporary : <a href="#type-cxx_temporary">cxx_temporary</a>;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-goto_stmt_info"><a href="#type-goto_stmt_info" class="anchor"></a><code><span><span class="keyword">type</span> goto_stmt_info</span><span> = </span><span>{</span></code><ol><li id="type-goto_stmt_info.gsi_label" class="def record field anchored"><a href="#type-goto_stmt_info.gsi_label" class="anchor"></a><code><span>gsi_label : string;</span></code></li><li id="type-goto_stmt_info.gsi_pointer" class="def record field anchored"><a href="#type-goto_stmt_info.gsi_pointer" class="anchor"></a><code><span>gsi_pointer : <a href="#type-pointer">pointer</a>;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-obj_c_array_literal_expr_info"><a href="#type-obj_c_array_literal_expr_info" class="anchor"></a><code><span><span class="keyword">type</span> obj_c_array_literal_expr_info</span><span> = </span><span>{</span></code><ol><li id="type-obj_c_array_literal_expr_info.oalei_array_method" class="def record field anchored"><a href="#type-obj_c_array_literal_expr_info.oalei_array_method" class="anchor"></a><code><span>oalei_array_method : <span><a href="#type-pointer">pointer</a> option</span>;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-obj_c_dictionary_literal_expr_info"><a href="#type-obj_c_dictionary_literal_expr_info" class="anchor"></a><code><span><span class="keyword">type</span> obj_c_dictionary_literal_expr_info</span><span> = </span><span>{</span></code><ol><li id="type-obj_c_dictionary_literal_expr_info.odlei_dict_method" class="def record field anchored"><a href="#type-obj_c_dictionary_literal_expr_info.odlei_dict_method" class="anchor"></a><code><span>odlei_dict_method : <span><a href="#type-pointer">pointer</a> option</span>;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-predefined_expr_type"><a href="#type-predefined_expr_type" class="anchor"></a><code><span><span class="keyword">type</span> predefined_expr_type</span><span> = </span><span>[ </span></code><ol><li id="type-predefined_expr_type.Func" class="def variant constructor anchored"><a href="#type-predefined_expr_type.Func" class="anchor"></a><code><span>| </span><span>`Func</span></code></li><li id="type-predefined_expr_type.Function" class="def variant constructor anchored"><a href="#type-predefined_expr_type.Function" class="anchor"></a><code><span>| </span><span>`Function</span></code></li><li id="type-predefined_expr_type.LFunction" class="def variant constructor anchored"><a href="#type-predefined_expr_type.LFunction" class="anchor"></a><code><span>| </span><span>`LFunction</span></code></li><li id="type-predefined_expr_type.FuncDName" class="def variant constructor anchored"><a href="#type-predefined_expr_type.FuncDName" class="anchor"></a><code><span>| </span><span>`FuncDName</span></code></li><li id="type-predefined_expr_type.FuncSig" class="def variant constructor anchored"><a href="#type-predefined_expr_type.FuncSig" class="anchor"></a><code><span>| </span><span>`FuncSig</span></code></li><li id="type-predefined_expr_type.LFuncSig" class="def variant constructor anchored"><a href="#type-predefined_expr_type.LFuncSig" class="anchor"></a><code><span>| </span><span>`LFuncSig</span></code></li><li id="type-predefined_expr_type.PrettyFunction" class="def variant constructor anchored"><a href="#type-predefined_expr_type.PrettyFunction" class="anchor"></a><code><span>| </span><span>`PrettyFunction</span></code></li><li id="type-predefined_expr_type.PrettyFunctionNoVirtual" class="def variant constructor anchored"><a href="#type-predefined_expr_type.PrettyFunctionNoVirtual" class="anchor"></a><code><span>| </span><span>`PrettyFunctionNoVirtual</span></code></li></ol><code><span> ]</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-property_attribute"><a href="#type-property_attribute" class="anchor"></a><code><span><span class="keyword">type</span> property_attribute</span><span> = </span><span>[ </span></code><ol><li id="type-property_attribute.Readonly" class="def variant constructor anchored"><a href="#type-property_attribute.Readonly" class="anchor"></a><code><span>| </span><span>`Readonly</span></code></li><li id="type-property_attribute.Assign" class="def variant constructor anchored"><a href="#type-property_attribute.Assign" class="anchor"></a><code><span>| </span><span>`Assign</span></code></li><li id="type-property_attribute.Readwrite" class="def variant constructor anchored"><a href="#type-property_attribute.Readwrite" class="anchor"></a><code><span>| </span><span>`Readwrite</span></code></li><li id="type-property_attribute.Retain" class="def variant constructor anchored"><a href="#type-property_attribute.Retain" class="anchor"></a><code><span>| </span><span>`Retain</span></code></li><li id="type-property_attribute.Copy" class="def variant constructor anchored"><a href="#type-property_attribute.Copy" class="anchor"></a><code><span>| </span><span>`Copy</span></code></li><li id="type-property_attribute.Nonatomic" class="def variant constructor anchored"><a href="#type-property_attribute.Nonatomic" class="anchor"></a><code><span>| </span><span>`Nonatomic</span></code></li><li id="type-property_attribute.Atomic" class="def variant constructor anchored"><a href="#type-property_attribute.Atomic" class="anchor"></a><code><span>| </span><span>`Atomic</span></code></li><li id="type-property_attribute.Weak" class="def variant constructor anchored"><a href="#type-property_attribute.Weak" class="anchor"></a><code><span>| </span><span>`Weak</span></code></li><li id="type-property_attribute.Strong" class="def variant constructor anchored"><a href="#type-property_attribute.Strong" class="anchor"></a><code><span>| </span><span>`Strong</span></code></li><li id="type-property_attribute.Unsafe_unretained" class="def variant constructor anchored"><a href="#type-property_attribute.Unsafe_unretained" class="anchor"></a><code><span>| </span><span>`Unsafe_unretained</span></code></li><li id="type-property_attribute.ExplicitGetter" class="def variant constructor anchored"><a href="#type-property_attribute.ExplicitGetter" class="anchor"></a><code><span>| </span><span>`ExplicitGetter</span></code></li><li id="type-property_attribute.ExplicitSetter" class="def variant constructor anchored"><a href="#type-property_attribute.ExplicitSetter" class="anchor"></a><code><span>| </span><span>`ExplicitSetter</span></code></li></ol><code><span> ]</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-property_implementation"><a href="#type-property_implementation" class="anchor"></a><code><span><span class="keyword">type</span> property_implementation</span><span> = </span><span>[ </span></code><ol><li id="type-property_implementation.Synthesize" class="def variant constructor anchored"><a href="#type-property_implementation.Synthesize" class="anchor"></a><code><span>| </span><span>`Synthesize</span></code></li><li id="type-property_implementation.Dynamic" class="def variant constructor anchored"><a href="#type-property_implementation.Dynamic" class="anchor"></a><code><span>| </span><span>`Dynamic</span></code></li></ol><code><span> ]</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-record_decl_info"><a href="#type-record_decl_info" class="anchor"></a><code><span><span class="keyword">type</span> record_decl_info</span><span> = </span><span>{</span></code><ol><li id="type-record_decl_info.rdi_definition_ptr" class="def record field anchored"><a href="#type-record_decl_info.rdi_definition_ptr" class="anchor"></a><code><span>rdi_definition_ptr : <a href="#type-pointer">pointer</a>;</span></code></li><li id="type-record_decl_info.rdi_is_module_private" class="def record field anchored"><a href="#type-record_decl_info.rdi_is_module_private" class="anchor"></a><code><span>rdi_is_module_private : bool;</span></code></li><li id="type-record_decl_info.rdi_is_complete_definition" class="def record field anchored"><a href="#type-record_decl_info.rdi_is_complete_definition" class="anchor"></a><code><span>rdi_is_complete_definition : bool;</span></code></li><li id="type-record_decl_info.rdi_is_dependent_type" class="def record field anchored"><a href="#type-record_decl_info.rdi_is_dependent_type" class="anchor"></a><code><span>rdi_is_dependent_type : bool;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-selector"><a href="#type-selector" class="anchor"></a><code><span><span class="keyword">type</span> selector</span><span> = string</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-obj_c_method_ref_info"><a href="#type-obj_c_method_ref_info" class="anchor"></a><code><span><span class="keyword">type</span> obj_c_method_ref_info</span><span> = </span><span>{</span></code><ol><li id="type-obj_c_method_ref_info.mri_getter" class="def record field anchored"><a href="#type-obj_c_method_ref_info.mri_getter" class="anchor"></a><code><span>mri_getter : <span><a href="#type-selector">selector</a> option</span>;</span></code></li><li id="type-obj_c_method_ref_info.mri_setter" class="def record field anchored"><a href="#type-obj_c_method_ref_info.mri_setter" class="anchor"></a><code><span>mri_setter : <span><a href="#type-selector">selector</a> option</span>;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-obj_c_subscript_ref_expr_info"><a href="#type-obj_c_subscript_ref_expr_info" class="anchor"></a><code><span><span class="keyword">type</span> obj_c_subscript_ref_expr_info</span><span> = </span><span>{</span></code><ol><li id="type-obj_c_subscript_ref_expr_info.osrei_kind" class="def record field anchored"><a href="#type-obj_c_subscript_ref_expr_info.osrei_kind" class="anchor"></a><code><span>osrei_kind : <a href="#type-obj_c_subscript_kind">obj_c_subscript_kind</a>;</span></code></li><li id="type-obj_c_subscript_ref_expr_info.osrei_getter" class="def record field anchored"><a href="#type-obj_c_subscript_ref_expr_info.osrei_getter" class="anchor"></a><code><span>osrei_getter : <span><a href="#type-selector">selector</a> option</span>;</span></code></li><li id="type-obj_c_subscript_ref_expr_info.osrei_setter" class="def record field anchored"><a href="#type-obj_c_subscript_ref_expr_info.osrei_setter" class="anchor"></a><code><span>osrei_setter : <span><a href="#type-selector">selector</a> option</span>;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-objc_boxed_expr_info"><a href="#type-objc_boxed_expr_info" class="anchor"></a><code><span><span class="keyword">type</span> objc_boxed_expr_info</span><span> = </span><span>{</span></code><ol><li id="type-objc_boxed_expr_info.obei_boxing_method" class="def record field anchored"><a href="#type-objc_boxed_expr_info.obei_boxing_method" class="anchor"></a><code><span>obei_boxing_method : <span><a href="#type-selector">selector</a> option</span>;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-sentinel_attr_info"><a href="#type-sentinel_attr_info" class="anchor"></a><code><span><span class="keyword">type</span> sentinel_attr_info</span><span> = </span><span>{</span></code><ol><li id="type-sentinel_attr_info.sai_sentinel" class="def record field anchored"><a href="#type-sentinel_attr_info.sai_sentinel" class="anchor"></a><code><span>sai_sentinel : int;</span></code></li><li id="type-sentinel_attr_info.sai_null_pos" class="def record field anchored"><a href="#type-sentinel_attr_info.sai_null_pos" class="anchor"></a><code><span>sai_null_pos : int;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-source_file"><a href="#type-source_file" class="anchor"></a><code><span><span class="keyword">type</span> source_file</span><span> = string</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-source_location"><a href="#type-source_location" class="anchor"></a><code><span><span class="keyword">type</span> source_location</span><span> = </span><span>{</span></code><ol><li id="type-source_location.sl_file" class="def record field anchored"><a href="#type-source_location.sl_file" class="anchor"></a><code><span><span class="keyword">mutable</span> sl_file : <span><a href="#type-source_file">source_file</a> option</span>;</span></code></li><li id="type-source_location.sl_line" class="def record field anchored"><a href="#type-source_location.sl_line" class="anchor"></a><code><span><span class="keyword">mutable</span> sl_line : <span>int option</span>;</span></code></li><li id="type-source_location.sl_column" class="def record field anchored"><a href="#type-source_location.sl_column" class="anchor"></a><code><span><span class="keyword">mutable</span> sl_column : <span>int option</span>;</span></code></li><li id="type-source_location.sl_is_macro" class="def record field anchored"><a href="#type-source_location.sl_is_macro" class="anchor"></a><code><span>sl_is_macro : bool;</span></code></li><li id="type-source_location.sl_macro_file" class="def record field anchored"><a href="#type-source_location.sl_macro_file" class="anchor"></a><code><span><span class="keyword">mutable</span> sl_macro_file : <span><a href="#type-source_file">source_file</a> option</span>;</span></code></li><li id="type-source_location.sl_macro_line" class="def record field anchored"><a href="#type-source_location.sl_macro_line" class="anchor"></a><code><span><span class="keyword">mutable</span> sl_macro_line : <span>int option</span>;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-source_range"><a href="#type-source_range" class="anchor"></a><code><span><span class="keyword">type</span> source_range</span><span> = <a href="#type-source_location">source_location</a> * <a href="#type-source_location">source_location</a></span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-attribute_info"><a href="#type-attribute_info" class="anchor"></a><code><span><span class="keyword">type</span> attribute_info</span><span> = </span><span>{</span></code><ol><li id="type-attribute_info.ai_pointer" class="def record field anchored"><a href="#type-attribute_info.ai_pointer" class="anchor"></a><code><span>ai_pointer : <a href="#type-pointer">pointer</a>;</span></code></li><li id="type-attribute_info.ai_source_range" class="def record field anchored"><a href="#type-attribute_info.ai_source_range" class="anchor"></a><code><span>ai_source_range : <a href="#type-source_range">source_range</a>;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-attr_tuple"><a href="#type-attr_tuple" class="anchor"></a><code><span><span class="keyword">type</span> attr_tuple</span><span> = <a href="#type-attribute_info">attribute_info</a></span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-comment_info"><a href="#type-comment_info" class="anchor"></a><code><span><span class="keyword">type</span> comment_info</span><span> = </span><span>{</span></code><ol><li id="type-comment_info.ci_parent_pointer" class="def record field anchored"><a href="#type-comment_info.ci_parent_pointer" class="anchor"></a><code><span>ci_parent_pointer : <a href="#type-pointer">pointer</a>;</span></code></li><li id="type-comment_info.ci_source_range" class="def record field anchored"><a href="#type-comment_info.ci_source_range" class="anchor"></a><code><span>ci_source_range : <a href="#type-source_range">source_range</a>;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-specifier_kind"><a href="#type-specifier_kind" class="anchor"></a><code><span><span class="keyword">type</span> specifier_kind</span><span> = </span><span>[ </span></code><ol><li id="type-specifier_kind.Identifier" class="def variant constructor anchored"><a href="#type-specifier_kind.Identifier" class="anchor"></a><code><span>| </span><span>`Identifier</span></code></li><li id="type-specifier_kind.Namespace" class="def variant constructor anchored"><a href="#type-specifier_kind.Namespace" class="anchor"></a><code><span>| </span><span>`Namespace</span></code></li><li id="type-specifier_kind.NamespaceAlias" class="def variant constructor anchored"><a href="#type-specifier_kind.NamespaceAlias" class="anchor"></a><code><span>| </span><span>`NamespaceAlias</span></code></li><li id="type-specifier_kind.TypeSpec" class="def variant constructor anchored"><a href="#type-specifier_kind.TypeSpec" class="anchor"></a><code><span>| </span><span>`TypeSpec</span></code></li><li id="type-specifier_kind.TypeSpecWithTemplate" class="def variant constructor anchored"><a href="#type-specifier_kind.TypeSpecWithTemplate" class="anchor"></a><code><span>| </span><span>`TypeSpecWithTemplate</span></code></li><li id="type-specifier_kind.Global" class="def variant constructor anchored"><a href="#type-specifier_kind.Global" class="anchor"></a><code><span>| </span><span>`Global</span></code></li><li id="type-specifier_kind.Super" class="def variant constructor anchored"><a href="#type-specifier_kind.Super" class="anchor"></a><code><span>| </span><span>`Super</span></code></li></ol><code><span> ]</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-stmt_info"><a href="#type-stmt_info" class="anchor"></a><code><span><span class="keyword">type</span> stmt_info</span><span> = </span><span>{</span></code><ol><li id="type-stmt_info.si_pointer" class="def record field anchored"><a href="#type-stmt_info.si_pointer" class="anchor"></a><code><span>si_pointer : <a href="#type-pointer">pointer</a>;</span></code></li><li id="type-stmt_info.si_source_range" class="def record field anchored"><a href="#type-stmt_info.si_source_range" class="anchor"></a><code><span>si_source_range : <a href="#type-source_range">source_range</a>;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-tag_kind"><a href="#type-tag_kind" class="anchor"></a><code><span><span class="keyword">type</span> tag_kind</span><span> = </span><span>[ </span></code><ol><li id="type-tag_kind.TTK_Struct" class="def variant constructor anchored"><a href="#type-tag_kind.TTK_Struct" class="anchor"></a><code><span>| </span><span>`TTK_Struct</span></code></li><li id="type-tag_kind.TTK_Interface" class="def variant constructor anchored"><a href="#type-tag_kind.TTK_Interface" class="anchor"></a><code><span>| </span><span>`TTK_Interface</span></code></li><li id="type-tag_kind.TTK_Union" class="def variant constructor anchored"><a href="#type-tag_kind.TTK_Union" class="anchor"></a><code><span>| </span><span>`TTK_Union</span></code></li><li id="type-tag_kind.TTK_Class" class="def variant constructor anchored"><a href="#type-tag_kind.TTK_Class" class="anchor"></a><code><span>| </span><span>`TTK_Class</span></code></li><li id="type-tag_kind.TTK_Enum" class="def variant constructor anchored"><a href="#type-tag_kind.TTK_Enum" class="anchor"></a><code><span>| </span><span>`TTK_Enum</span></code></li></ol><code><span> ]</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-type_ptr"><a href="#type-type_ptr" class="anchor"></a><code><span><span class="keyword">type</span> type_ptr</span><span> = <a href="../Clang_ast_types/TypePtr/index.html#type-t">Clang_ast_types.TypePtr.t</a></span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-qual_type"><a href="#type-qual_type" class="anchor"></a><code><span><span class="keyword">type</span> qual_type</span><span> = </span><span>{</span></code><ol><li id="type-qual_type.qt_type_ptr" class="def record field anchored"><a href="#type-qual_type.qt_type_ptr" class="anchor"></a><code><span>qt_type_ptr : <a href="#type-type_ptr">type_ptr</a>;</span></code></li><li id="type-qual_type.qt_is_const" class="def record field anchored"><a href="#type-qual_type.qt_is_const" class="anchor"></a><code><span>qt_is_const : bool;</span></code></li><li id="type-qual_type.qt_is_restrict" class="def record field anchored"><a href="#type-qual_type.qt_is_restrict" class="anchor"></a><code><span>qt_is_restrict : bool;</span></code></li><li id="type-qual_type.qt_is_volatile" class="def record field anchored"><a href="#type-qual_type.qt_is_volatile" class="anchor"></a><code><span>qt_is_volatile : bool;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-array_type_info"><a href="#type-array_type_info" class="anchor"></a><code><span><span class="keyword">type</span> array_type_info</span><span> = </span><span>{</span></code><ol><li id="type-array_type_info.arti_element_type" class="def record field anchored"><a href="#type-array_type_info.arti_element_type" class="anchor"></a><code><span>arti_element_type : <a href="#type-qual_type">qual_type</a>;</span></code></li><li id="type-array_type_info.arti_stride" class="def record field anchored"><a href="#type-array_type_info.arti_stride" class="anchor"></a><code><span>arti_stride : <span>int option</span>;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-compound_assign_operator_info"><a href="#type-compound_assign_operator_info" class="anchor"></a><code><span><span class="keyword">type</span> compound_assign_operator_info</span><span> = </span><span>{</span></code><ol><li id="type-compound_assign_operator_info.caoi_lhs_type" class="def record field anchored"><a href="#type-compound_assign_operator_info.caoi_lhs_type" class="anchor"></a><code><span>caoi_lhs_type : <a href="#type-qual_type">qual_type</a>;</span></code></li><li id="type-compound_assign_operator_info.caoi_result_type" class="def record field anchored"><a href="#type-compound_assign_operator_info.caoi_result_type" class="anchor"></a><code><span>caoi_result_type : <a href="#type-qual_type">qual_type</a>;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-cxx_delete_expr_info"><a href="#type-cxx_delete_expr_info" class="anchor"></a><code><span><span class="keyword">type</span> cxx_delete_expr_info</span><span> = </span><span>{</span></code><ol><li id="type-cxx_delete_expr_info.xdei_is_array" class="def record field anchored"><a href="#type-cxx_delete_expr_info.xdei_is_array" class="anchor"></a><code><span>xdei_is_array : bool;</span></code></li><li id="type-cxx_delete_expr_info.xdei_destroyed_type" class="def record field anchored"><a href="#type-cxx_delete_expr_info.xdei_destroyed_type" class="anchor"></a><code><span>xdei_destroyed_type : <a href="#type-qual_type">qual_type</a>;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-decl_ref"><a href="#type-decl_ref" class="anchor"></a><code><span><span class="keyword">type</span> decl_ref</span><span> = </span><span>{</span></code><ol><li id="type-decl_ref.dr_kind" class="def record field anchored"><a href="#type-decl_ref.dr_kind" class="anchor"></a><code><span>dr_kind : <a href="#type-decl_kind">decl_kind</a>;</span></code></li><li id="type-decl_ref.dr_decl_pointer" class="def record field anchored"><a href="#type-decl_ref.dr_decl_pointer" class="anchor"></a><code><span>dr_decl_pointer : <a href="#type-pointer">pointer</a>;</span></code></li><li id="type-decl_ref.dr_name" class="def record field anchored"><a href="#type-decl_ref.dr_name" class="anchor"></a><code><span>dr_name : <span><a href="#type-named_decl_info">named_decl_info</a> option</span>;</span></code></li><li id="type-decl_ref.dr_is_hidden" class="def record field anchored"><a href="#type-decl_ref.dr_is_hidden" class="anchor"></a><code><span>dr_is_hidden : bool;</span></code></li><li id="type-decl_ref.dr_qual_type" class="def record field anchored"><a href="#type-decl_ref.dr_qual_type" class="anchor"></a><code><span>dr_qual_type : <span><a href="#type-qual_type">qual_type</a> option</span>;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-cxx_construct_expr_info"><a href="#type-cxx_construct_expr_info" class="anchor"></a><code><span><span class="keyword">type</span> cxx_construct_expr_info</span><span> = </span><span>{</span></code><ol><li id="type-cxx_construct_expr_info.xcei_decl_ref" class="def record field anchored"><a href="#type-cxx_construct_expr_info.xcei_decl_ref" class="anchor"></a><code><span>xcei_decl_ref : <a href="#type-decl_ref">decl_ref</a>;</span></code></li><li id="type-cxx_construct_expr_info.xcei_is_elidable" class="def record field anchored"><a href="#type-cxx_construct_expr_info.xcei_is_elidable" class="anchor"></a><code><span>xcei_is_elidable : bool;</span></code></li><li id="type-cxx_construct_expr_info.xcei_requires_zero_initialization" class="def record field anchored"><a href="#type-cxx_construct_expr_info.xcei_requires_zero_initialization" class="anchor"></a><code><span>xcei_requires_zero_initialization : bool;</span></code></li><li id="type-cxx_construct_expr_info.xcei_is_copy_constructor" class="def record field anchored"><a href="#type-cxx_construct_expr_info.xcei_is_copy_constructor" class="anchor"></a><code><span>xcei_is_copy_constructor : bool;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-cxx_ctor_initializer_subject"><a href="#type-cxx_ctor_initializer_subject" class="anchor"></a><code><span><span class="keyword">type</span> cxx_ctor_initializer_subject</span><span> = </span><span>[ </span></code><ol><li id="type-cxx_ctor_initializer_subject.Member" class="def variant constructor anchored"><a href="#type-cxx_ctor_initializer_subject.Member" class="anchor"></a><code><span>| </span><span>`Member <span class="keyword">of</span> <a href="#type-decl_ref">decl_ref</a></span></code></li><li id="type-cxx_ctor_initializer_subject.Delegating" class="def variant constructor anchored"><a href="#type-cxx_ctor_initializer_subject.Delegating" class="anchor"></a><code><span>| </span><span>`Delegating <span class="keyword">of</span> <a href="#type-type_ptr">type_ptr</a></span></code></li><li id="type-cxx_ctor_initializer_subject.BaseClass" class="def variant constructor anchored"><a href="#type-cxx_ctor_initializer_subject.BaseClass" class="anchor"></a><code><span>| </span><span>`BaseClass <span class="keyword">of</span> <a href="#type-type_ptr">type_ptr</a> * bool</span></code></li></ol><code><span> ]</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-decl_ref_expr_info"><a href="#type-decl_ref_expr_info" class="anchor"></a><code><span><span class="keyword">type</span> decl_ref_expr_info</span><span> = </span><span>{</span></code><ol><li id="type-decl_ref_expr_info.drti_decl_ref" class="def record field anchored"><a href="#type-decl_ref_expr_info.drti_decl_ref" class="anchor"></a><code><span>drti_decl_ref : <span><a href="#type-decl_ref">decl_ref</a> option</span>;</span></code></li><li id="type-decl_ref_expr_info.drti_found_decl_ref" class="def record field anchored"><a href="#type-decl_ref_expr_info.drti_found_decl_ref" class="anchor"></a><code><span>drti_found_decl_ref : <span><a href="#type-decl_ref">decl_ref</a> option</span>;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-expr_with_cleanups_info"><a href="#type-expr_with_cleanups_info" class="anchor"></a><code><span><span class="keyword">type</span> expr_with_cleanups_info</span><span> = </span><span>{</span></code><ol><li id="type-expr_with_cleanups_info.ewci_decl_refs" class="def record field anchored"><a href="#type-expr_with_cleanups_info.ewci_decl_refs" class="anchor"></a><code><span>ewci_decl_refs : <span><a href="#type-decl_ref">decl_ref</a> list</span>;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-function_type_info"><a href="#type-function_type_info" class="anchor"></a><code><span><span class="keyword">type</span> function_type_info</span><span> = </span><span>{</span></code><ol><li id="type-function_type_info.fti_return_type" class="def record field anchored"><a href="#type-function_type_info.fti_return_type" class="anchor"></a><code><span>fti_return_type : <a href="#type-qual_type">qual_type</a>;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-materialize_temporary_expr_info"><a href="#type-materialize_temporary_expr_info" class="anchor"></a><code><span><span class="keyword">type</span> materialize_temporary_expr_info</span><span> = </span><span>{</span></code><ol><li id="type-materialize_temporary_expr_info.mtei_decl_ref" class="def record field anchored"><a href="#type-materialize_temporary_expr_info.mtei_decl_ref" class="anchor"></a><code><span>mtei_decl_ref : <span><a href="#type-decl_ref">decl_ref</a> option</span>;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-member_expr_info"><a href="#type-member_expr_info" class="anchor"></a><code><span><span class="keyword">type</span> member_expr_info</span><span> = </span><span>{</span></code><ol><li id="type-member_expr_info.mei_is_arrow" class="def record field anchored"><a href="#type-member_expr_info.mei_is_arrow" class="anchor"></a><code><span>mei_is_arrow : bool;</span></code></li><li id="type-member_expr_info.mei_performs_virtual_dispatch" class="def record field anchored"><a href="#type-member_expr_info.mei_performs_virtual_dispatch" class="anchor"></a><code><span>mei_performs_virtual_dispatch : bool;</span></code></li><li id="type-member_expr_info.mei_name" class="def record field anchored"><a href="#type-member_expr_info.mei_name" class="anchor"></a><code><span>mei_name : <a href="#type-named_decl_info">named_decl_info</a>;</span></code></li><li id="type-member_expr_info.mei_decl_ref" class="def record field anchored"><a href="#type-member_expr_info.mei_decl_ref" class="anchor"></a><code><span>mei_decl_ref : <a href="#type-decl_ref">decl_ref</a>;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-namespace_decl_info"><a href="#type-namespace_decl_info" class="anchor"></a><code><span><span class="keyword">type</span> namespace_decl_info</span><span> = </span><span>{</span></code><ol><li id="type-namespace_decl_info.ndi_is_inline" class="def record field anchored"><a href="#type-namespace_decl_info.ndi_is_inline" class="anchor"></a><code><span>ndi_is_inline : bool;</span></code></li><li id="type-namespace_decl_info.ndi_original_namespace" class="def record field anchored"><a href="#type-namespace_decl_info.ndi_original_namespace" class="anchor"></a><code><span>ndi_original_namespace : <span><a href="#type-decl_ref">decl_ref</a> option</span>;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-nested_name_specifier_loc"><a href="#type-nested_name_specifier_loc" class="anchor"></a><code><span><span class="keyword">type</span> nested_name_specifier_loc</span><span> = </span><span>{</span></code><ol><li id="type-nested_name_specifier_loc.nnsl_kind" class="def record field anchored"><a href="#type-nested_name_specifier_loc.nnsl_kind" class="anchor"></a><code><span>nnsl_kind : <a href="#type-specifier_kind">specifier_kind</a>;</span></code></li><li id="type-nested_name_specifier_loc.nnsl_ref" class="def record field anchored"><a href="#type-nested_name_specifier_loc.nnsl_ref" class="anchor"></a><code><span>nnsl_ref : <span><a href="#type-decl_ref">decl_ref</a> option</span>;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-namespace_alias_decl_info"><a href="#type-namespace_alias_decl_info" class="anchor"></a><code><span><span class="keyword">type</span> namespace_alias_decl_info</span><span> = </span><span>{</span></code><ol><li id="type-namespace_alias_decl_info.nadi_namespace_loc" class="def record field anchored"><a href="#type-namespace_alias_decl_info.nadi_namespace_loc" class="anchor"></a><code><span>nadi_namespace_loc : <a href="#type-source_location">source_location</a>;</span></code></li><li id="type-namespace_alias_decl_info.nadi_target_name_loc" class="def record field anchored"><a href="#type-namespace_alias_decl_info.nadi_target_name_loc" class="anchor"></a><code><span>nadi_target_name_loc : <a href="#type-source_location">source_location</a>;</span></code></li><li id="type-namespace_alias_decl_info.nadi_nested_name_specifier_locs" class="def record field anchored"><a href="#type-namespace_alias_decl_info.nadi_nested_name_specifier_locs" class="anchor"></a><code><span>nadi_nested_name_specifier_locs : <span><a href="#type-nested_name_specifier_loc">nested_name_specifier_loc</a> list</span>;</span></code></li><li id="type-namespace_alias_decl_info.nadi_namespace" class="def record field anchored"><a href="#type-namespace_alias_decl_info.nadi_namespace" class="anchor"></a><code><span>nadi_namespace : <a href="#type-decl_ref">decl_ref</a>;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-obj_c_category_decl_info"><a href="#type-obj_c_category_decl_info" class="anchor"></a><code><span><span class="keyword">type</span> obj_c_category_decl_info</span><span> = </span><span>{</span></code><ol><li id="type-obj_c_category_decl_info.odi_class_interface" class="def record field anchored"><a href="#type-obj_c_category_decl_info.odi_class_interface" class="anchor"></a><code><span>odi_class_interface : <span><a href="#type-decl_ref">decl_ref</a> option</span>;</span></code></li><li id="type-obj_c_category_decl_info.odi_implementation" class="def record field anchored"><a href="#type-obj_c_category_decl_info.odi_implementation" class="anchor"></a><code><span>odi_implementation : <span><a href="#type-decl_ref">decl_ref</a> option</span>;</span></code></li><li id="type-obj_c_category_decl_info.odi_protocols" class="def record field anchored"><a href="#type-obj_c_category_decl_info.odi_protocols" class="anchor"></a><code><span>odi_protocols : <span><a href="#type-decl_ref">decl_ref</a> list</span>;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-obj_c_category_impl_decl_info"><a href="#type-obj_c_category_impl_decl_info" class="anchor"></a><code><span><span class="keyword">type</span> obj_c_category_impl_decl_info</span><span> = </span><span>{</span></code><ol><li id="type-obj_c_category_impl_decl_info.ocidi_class_interface" class="def record field anchored"><a href="#type-obj_c_category_impl_decl_info.ocidi_class_interface" class="anchor"></a><code><span>ocidi_class_interface : <span><a href="#type-decl_ref">decl_ref</a> option</span>;</span></code></li><li id="type-obj_c_category_impl_decl_info.ocidi_category_decl" class="def record field anchored"><a href="#type-obj_c_category_impl_decl_info.ocidi_category_decl" class="anchor"></a><code><span>ocidi_category_decl : <span><a href="#type-decl_ref">decl_ref</a> option</span>;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-obj_c_compatible_alias_decl_info"><a href="#type-obj_c_compatible_alias_decl_info" class="anchor"></a><code><span><span class="keyword">type</span> obj_c_compatible_alias_decl_info</span><span> = </span><span>{</span></code><ol><li id="type-obj_c_compatible_alias_decl_info.ocadi_class_interface" class="def record field anchored"><a href="#type-obj_c_compatible_alias_decl_info.ocadi_class_interface" class="anchor"></a><code><span>ocadi_class_interface : <span><a href="#type-decl_ref">decl_ref</a> option</span>;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-obj_c_interface_decl_info"><a href="#type-obj_c_interface_decl_info" class="anchor"></a><code><span><span class="keyword">type</span> obj_c_interface_decl_info</span><span> = </span><span>{</span></code><ol><li id="type-obj_c_interface_decl_info.otdi_super" class="def record field anchored"><a href="#type-obj_c_interface_decl_info.otdi_super" class="anchor"></a><code><span>otdi_super : <span><a href="#type-decl_ref">decl_ref</a> option</span>;</span></code></li><li id="type-obj_c_interface_decl_info.otdi_implementation" class="def record field anchored"><a href="#type-obj_c_interface_decl_info.otdi_implementation" class="anchor"></a><code><span>otdi_implementation : <span><a href="#type-decl_ref">decl_ref</a> option</span>;</span></code></li><li id="type-obj_c_interface_decl_info.otdi_protocols" class="def record field anchored"><a href="#type-obj_c_interface_decl_info.otdi_protocols" class="anchor"></a><code><span>otdi_protocols : <span><a href="#type-decl_ref">decl_ref</a> list</span>;</span></code></li><li id="type-obj_c_interface_decl_info.otdi_known_categories" class="def record field anchored"><a href="#type-obj_c_interface_decl_info.otdi_known_categories" class="anchor"></a><code><span>otdi_known_categories : <span><a href="#type-decl_ref">decl_ref</a> list</span>;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-obj_c_ivar_ref_expr_info"><a href="#type-obj_c_ivar_ref_expr_info" class="anchor"></a><code><span><span class="keyword">type</span> obj_c_ivar_ref_expr_info</span><span> = </span><span>{</span></code><ol><li id="type-obj_c_ivar_ref_expr_info.ovrei_decl_ref" class="def record field anchored"><a href="#type-obj_c_ivar_ref_expr_info.ovrei_decl_ref" class="anchor"></a><code><span>ovrei_decl_ref : <a href="#type-decl_ref">decl_ref</a>;</span></code></li><li id="type-obj_c_ivar_ref_expr_info.ovrei_pointer" class="def record field anchored"><a href="#type-obj_c_ivar_ref_expr_info.ovrei_pointer" class="anchor"></a><code><span>ovrei_pointer : <a href="#type-pointer">pointer</a>;</span></code></li><li id="type-obj_c_ivar_ref_expr_info.ovrei_is_free_ivar" class="def record field anchored"><a href="#type-obj_c_ivar_ref_expr_info.ovrei_is_free_ivar" class="anchor"></a><code><span>ovrei_is_free_ivar : bool;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-obj_c_property_decl_info"><a href="#type-obj_c_property_decl_info" class="anchor"></a><code><span><span class="keyword">type</span> obj_c_property_decl_info</span><span> = </span><span>{</span></code><ol><li id="type-obj_c_property_decl_info.opdi_qual_type" class="def record field anchored"><a href="#type-obj_c_property_decl_info.opdi_qual_type" class="anchor"></a><code><span>opdi_qual_type : <a href="#type-qual_type">qual_type</a>;</span></code></li><li id="type-obj_c_property_decl_info.opdi_getter_method" class="def record field anchored"><a href="#type-obj_c_property_decl_info.opdi_getter_method" class="anchor"></a><code><span>opdi_getter_method : <span><a href="#type-decl_ref">decl_ref</a> option</span>;</span></code></li><li id="type-obj_c_property_decl_info.opdi_setter_method" class="def record field anchored"><a href="#type-obj_c_property_decl_info.opdi_setter_method" class="anchor"></a><code><span>opdi_setter_method : <span><a href="#type-decl_ref">decl_ref</a> option</span>;</span></code></li><li id="type-obj_c_property_decl_info.opdi_ivar_decl" class="def record field anchored"><a href="#type-obj_c_property_decl_info.opdi_ivar_decl" class="anchor"></a><code><span>opdi_ivar_decl : <span><a href="#type-decl_ref">decl_ref</a> option</span>;</span></code></li><li id="type-obj_c_property_decl_info.opdi_property_control" class="def record field anchored"><a href="#type-obj_c_property_decl_info.opdi_property_control" class="anchor"></a><code><span>opdi_property_control : <a href="#type-obj_c_property_control">obj_c_property_control</a>;</span></code></li><li id="type-obj_c_property_decl_info.opdi_property_attributes" class="def record field anchored"><a href="#type-obj_c_property_decl_info.opdi_property_attributes" class="anchor"></a><code><span>opdi_property_attributes : <span><a href="#type-property_attribute">property_attribute</a> list</span>;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-obj_c_property_impl_decl_info"><a href="#type-obj_c_property_impl_decl_info" class="anchor"></a><code><span><span class="keyword">type</span> obj_c_property_impl_decl_info</span><span> = </span><span>{</span></code><ol><li id="type-obj_c_property_impl_decl_info.opidi_implementation" class="def record field anchored"><a href="#type-obj_c_property_impl_decl_info.opidi_implementation" class="anchor"></a><code><span>opidi_implementation : <a href="#type-property_implementation">property_implementation</a>;</span></code></li><li id="type-obj_c_property_impl_decl_info.opidi_property_decl" class="def record field anchored"><a href="#type-obj_c_property_impl_decl_info.opidi_property_decl" class="anchor"></a><code><span>opidi_property_decl : <span><a href="#type-decl_ref">decl_ref</a> option</span>;</span></code></li><li id="type-obj_c_property_impl_decl_info.opidi_ivar_decl" class="def record field anchored"><a href="#type-obj_c_property_impl_decl_info.opidi_ivar_decl" class="anchor"></a><code><span>opidi_ivar_decl : <span><a href="#type-decl_ref">decl_ref</a> option</span>;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-obj_c_protocol_decl_info"><a href="#type-obj_c_protocol_decl_info" class="anchor"></a><code><span><span class="keyword">type</span> obj_c_protocol_decl_info</span><span> = </span><span>{</span></code><ol><li id="type-obj_c_protocol_decl_info.opcdi_protocols" class="def record field anchored"><a href="#type-obj_c_protocol_decl_info.opcdi_protocols" class="anchor"></a><code><span>opcdi_protocols : <span><a href="#type-decl_ref">decl_ref</a> list</span>;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-objc_encode_expr_info"><a href="#type-objc_encode_expr_info" class="anchor"></a><code><span><span class="keyword">type</span> objc_encode_expr_info</span><span> = </span><span>{</span></code><ol><li id="type-objc_encode_expr_info.oeei_qual_type" class="def record field anchored"><a href="#type-objc_encode_expr_info.oeei_qual_type" class="anchor"></a><code><span>oeei_qual_type : <a href="#type-qual_type">qual_type</a>;</span></code></li><li id="type-objc_encode_expr_info.oeei_raw" class="def record field anchored"><a href="#type-objc_encode_expr_info.oeei_raw" class="anchor"></a><code><span>oeei_raw : string;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-objc_object_type_info"><a href="#type-objc_object_type_info" class="anchor"></a><code><span><span class="keyword">type</span> objc_object_type_info</span><span> = </span><span>{</span></code><ol><li id="type-objc_object_type_info.ooti_base_type" class="def record field anchored"><a href="#type-objc_object_type_info.ooti_base_type" class="anchor"></a><code><span>ooti_base_type : <a href="#type-type_ptr">type_ptr</a>;</span></code></li><li id="type-objc_object_type_info.ooti_protocol_decls_ptr" class="def record field anchored"><a href="#type-objc_object_type_info.ooti_protocol_decls_ptr" class="anchor"></a><code><span>ooti_protocol_decls_ptr : <span><a href="#type-pointer">pointer</a> list</span>;</span></code></li><li id="type-objc_object_type_info.ooti_type_args" class="def record field anchored"><a href="#type-objc_object_type_info.ooti_type_args" class="anchor"></a><code><span>ooti_type_args : <span><a href="#type-qual_type">qual_type</a> list</span>;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-overload_expr_info"><a href="#type-overload_expr_info" class="anchor"></a><code><span><span class="keyword">type</span> overload_expr_info</span><span> = </span><span>{</span></code><ol><li id="type-overload_expr_info.oei_decls" class="def record field anchored"><a href="#type-overload_expr_info.oei_decls" class="anchor"></a><code><span>oei_decls : <span><a href="#type-decl_ref">decl_ref</a> list</span>;</span></code></li><li id="type-overload_expr_info.oei_name" class="def record field anchored"><a href="#type-overload_expr_info.oei_name" class="anchor"></a><code><span>oei_name : <a href="#type-declaration_name">declaration_name</a>;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-params_type_info"><a href="#type-params_type_info" class="anchor"></a><code><span><span class="keyword">type</span> params_type_info</span><span> = </span><span>{</span></code><ol><li id="type-params_type_info.pti_params_type" class="def record field anchored"><a href="#type-params_type_info.pti_params_type" class="anchor"></a><code><span>pti_params_type : <span><a href="#type-qual_type">qual_type</a> list</span>;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-property_ref_kind"><a href="#type-property_ref_kind" class="anchor"></a><code><span><span class="keyword">type</span> property_ref_kind</span><span> = </span><span>[ </span></code><ol><li id="type-property_ref_kind.MethodRef" class="def variant constructor anchored"><a href="#type-property_ref_kind.MethodRef" class="anchor"></a><code><span>| </span><span>`MethodRef <span class="keyword">of</span> <a href="#type-obj_c_method_ref_info">obj_c_method_ref_info</a></span></code></li><li id="type-property_ref_kind.PropertyRef" class="def variant constructor anchored"><a href="#type-property_ref_kind.PropertyRef" class="anchor"></a><code><span>| </span><span>`PropertyRef <span class="keyword">of</span> <a href="#type-decl_ref">decl_ref</a></span></code></li></ol><code><span> ]</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-obj_c_property_ref_expr_info"><a href="#type-obj_c_property_ref_expr_info" class="anchor"></a><code><span><span class="keyword">type</span> obj_c_property_ref_expr_info</span><span> = </span><span>{</span></code><ol><li id="type-obj_c_property_ref_expr_info.oprei_kind" class="def record field anchored"><a href="#type-obj_c_property_ref_expr_info.oprei_kind" class="anchor"></a><code><span>oprei_kind : <a href="#type-property_ref_kind">property_ref_kind</a>;</span></code></li><li id="type-obj_c_property_ref_expr_info.oprei_is_super_receiver" class="def record field anchored"><a href="#type-obj_c_property_ref_expr_info.oprei_is_super_receiver" class="anchor"></a><code><span>oprei_is_super_receiver : bool;</span></code></li><li id="type-obj_c_property_ref_expr_info.oprei_is_messaging_getter" class="def record field anchored"><a href="#type-obj_c_property_ref_expr_info.oprei_is_messaging_getter" class="anchor"></a><code><span>oprei_is_messaging_getter : bool;</span></code></li><li id="type-obj_c_property_ref_expr_info.oprei_is_messaging_setter" class="def record field anchored"><a href="#type-obj_c_property_ref_expr_info.oprei_is_messaging_setter" class="anchor"></a><code><span>oprei_is_messaging_setter : bool;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-receiver_kind"><a href="#type-receiver_kind" class="anchor"></a><code><span><span class="keyword">type</span> receiver_kind</span><span> = </span><span>[ </span></code><ol><li id="type-receiver_kind.Instance" class="def variant constructor anchored"><a href="#type-receiver_kind.Instance" class="anchor"></a><code><span>| </span><span>`Instance</span></code></li><li id="type-receiver_kind.Class" class="def variant constructor anchored"><a href="#type-receiver_kind.Class" class="anchor"></a><code><span>| </span><span>`Class <span class="keyword">of</span> <a href="#type-qual_type">qual_type</a></span></code></li><li id="type-receiver_kind.SuperInstance" class="def variant constructor anchored"><a href="#type-receiver_kind.SuperInstance" class="anchor"></a><code><span>| </span><span>`SuperInstance</span></code></li><li id="type-receiver_kind.SuperClass" class="def variant constructor anchored"><a href="#type-receiver_kind.SuperClass" class="anchor"></a><code><span>| </span><span>`SuperClass</span></code></li></ol><code><span> ]</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-obj_c_message_expr_info"><a href="#type-obj_c_message_expr_info" class="anchor"></a><code><span><span class="keyword">type</span> obj_c_message_expr_info</span><span> = </span><span>{</span></code><ol><li id="type-obj_c_message_expr_info.omei_selector" class="def record field anchored"><a href="#type-obj_c_message_expr_info.omei_selector" class="anchor"></a><code><span>omei_selector : string;</span></code></li><li id="type-obj_c_message_expr_info.omei_is_definition_found" class="def record field anchored"><a href="#type-obj_c_message_expr_info.omei_is_definition_found" class="anchor"></a><code><span>omei_is_definition_found : bool;</span></code></li><li id="type-obj_c_message_expr_info.omei_decl_pointer" class="def record field anchored"><a href="#type-obj_c_message_expr_info.omei_decl_pointer" class="anchor"></a><code><span>omei_decl_pointer : <span><a href="#type-pointer">pointer</a> option</span>;</span></code></li><li id="type-obj_c_message_expr_info.omei_receiver_kind" class="def record field anchored"><a href="#type-obj_c_message_expr_info.omei_receiver_kind" class="anchor"></a><code><span>omei_receiver_kind : <a href="#type-receiver_kind">receiver_kind</a>;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-type_info"><a href="#type-type_info" class="anchor"></a><code><span><span class="keyword">type</span> type_info</span><span> = </span><span>{</span></code><ol><li id="type-type_info.ti_pointer" class="def record field anchored"><a href="#type-type_info.ti_pointer" class="anchor"></a><code><span>ti_pointer : <a href="#type-pointer">pointer</a>;</span></code></li><li id="type-type_info.ti_desugared_type" class="def record field anchored"><a href="#type-type_info.ti_desugared_type" class="anchor"></a><code><span>ti_desugared_type : <span><a href="#type-type_ptr">type_ptr</a> option</span>;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-type_trait_info"><a href="#type-type_trait_info" class="anchor"></a><code><span><span class="keyword">type</span> type_trait_info</span><span> = </span><span>{</span></code><ol><li id="type-type_trait_info.xtti_value" class="def record field anchored"><a href="#type-type_trait_info.xtti_value" class="anchor"></a><code><span>xtti_value : bool;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-typedef_decl_info"><a href="#type-typedef_decl_info" class="anchor"></a><code><span><span class="keyword">type</span> typedef_decl_info</span><span> = </span><span>{</span></code><ol><li id="type-typedef_decl_info.tdi_is_module_private" class="def record field anchored"><a href="#type-typedef_decl_info.tdi_is_module_private" class="anchor"></a><code><span>tdi_is_module_private : bool;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-typedef_type_info"><a href="#type-typedef_type_info" class="anchor"></a><code><span><span class="keyword">type</span> typedef_type_info</span><span> = </span><span>{</span></code><ol><li id="type-typedef_type_info.tti_child_type" class="def record field anchored"><a href="#type-typedef_type_info.tti_child_type" class="anchor"></a><code><span>tti_child_type : <a href="#type-qual_type">qual_type</a>;</span></code></li><li id="type-typedef_type_info.tti_decl_ptr" class="def record field anchored"><a href="#type-typedef_type_info.tti_decl_ptr" class="anchor"></a><code><span>tti_decl_ptr : <a href="#type-pointer">pointer</a>;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-c_type"><a href="#type-c_type" class="anchor"></a><code><span><span class="keyword">type</span> c_type</span><span> = </span></code><ol><li id="type-c_type.NoneType" class="def variant constructor anchored"><a href="#type-c_type.NoneType" class="anchor"></a><code><span>| </span><span><span class="constructor">NoneType</span> <span class="keyword">of</span> <a href="#type-type_info">type_info</a></span></code></li><li id="type-c_type.AdjustedType" class="def variant constructor anchored"><a href="#type-c_type.AdjustedType" class="anchor"></a><code><span>| </span><span><span class="constructor">AdjustedType</span> <span class="keyword">of</span> <a href="#type-type_info">type_info</a> * <a href="#type-qual_type">qual_type</a></span></code></li><li id="type-c_type.DecayedType" class="def variant constructor anchored"><a href="#type-c_type.DecayedType" class="anchor"></a><code><span>| </span><span><span class="constructor">DecayedType</span> <span class="keyword">of</span> <a href="#type-type_info">type_info</a> * <a href="#type-qual_type">qual_type</a></span></code></li><li id="type-c_type.ConstantArrayType" class="def variant constructor anchored"><a href="#type-c_type.ConstantArrayType" class="anchor"></a><code><span>| </span><span><span class="constructor">ConstantArrayType</span> <span class="keyword">of</span> <a href="#type-type_info">type_info</a> * <a href="#type-array_type_info">array_type_info</a> * int</span></code></li><li id="type-c_type.DependentSizedArrayType" class="def variant constructor anchored"><a href="#type-c_type.DependentSizedArrayType" class="anchor"></a><code><span>| </span><span><span class="constructor">DependentSizedArrayType</span> <span class="keyword">of</span> <a href="#type-type_info">type_info</a> * <a href="#type-array_type_info">array_type_info</a></span></code></li><li id="type-c_type.IncompleteArrayType" class="def variant constructor anchored"><a href="#type-c_type.IncompleteArrayType" class="anchor"></a><code><span>| </span><span><span class="constructor">IncompleteArrayType</span> <span class="keyword">of</span> <a href="#type-type_info">type_info</a> * <a href="#type-array_type_info">array_type_info</a></span></code></li><li id="type-c_type.VariableArrayType" class="def variant constructor anchored"><a href="#type-c_type.VariableArrayType" class="anchor"></a><code><span>| </span><span><span class="constructor">VariableArrayType</span> <span class="keyword">of</span> <a href="#type-type_info">type_info</a> * <a href="#type-array_type_info">array_type_info</a> * <a href="#type-pointer">pointer</a></span></code></li><li id="type-c_type.AtomicType" class="def variant constructor anchored"><a href="#type-c_type.AtomicType" class="anchor"></a><code><span>| </span><span><span class="constructor">AtomicType</span> <span class="keyword">of</span> <a href="#type-type_info">type_info</a> * <a href="#type-qual_type">qual_type</a></span></code></li><li id="type-c_type.AttributedType" class="def variant constructor anchored"><a href="#type-c_type.AttributedType" class="anchor"></a><code><span>| </span><span><span class="constructor">AttributedType</span> <span class="keyword">of</span> <a href="#type-type_info">type_info</a> * <a href="#type-attr_type_info">attr_type_info</a></span></code></li><li id="type-c_type.BTFTagAttributedType" class="def variant constructor anchored"><a href="#type-c_type.BTFTagAttributedType" class="anchor"></a><code><span>| </span><span><span class="constructor">BTFTagAttributedType</span> <span class="keyword">of</span> <a href="#type-type_info">type_info</a></span></code></li><li id="type-c_type.BitIntType" class="def variant constructor anchored"><a href="#type-c_type.BitIntType" class="anchor"></a><code><span>| </span><span><span class="constructor">BitIntType</span> <span class="keyword">of</span> <a href="#type-type_info">type_info</a></span></code></li><li id="type-c_type.BlockPointerType" class="def variant constructor anchored"><a href="#type-c_type.BlockPointerType" class="anchor"></a><code><span>| </span><span><span class="constructor">BlockPointerType</span> <span class="keyword">of</span> <a href="#type-type_info">type_info</a> * <a href="#type-qual_type">qual_type</a></span></code></li><li id="type-c_type.BuiltinType" class="def variant constructor anchored"><a href="#type-c_type.BuiltinType" class="anchor"></a><code><span>| </span><span><span class="constructor">BuiltinType</span> <span class="keyword">of</span> <a href="#type-type_info">type_info</a> * <a href="#type-builtin_type_kind">builtin_type_kind</a></span></code></li><li id="type-c_type.ComplexType" class="def variant constructor anchored"><a href="#type-c_type.ComplexType" class="anchor"></a><code><span>| </span><span><span class="constructor">ComplexType</span> <span class="keyword">of</span> <a href="#type-type_info">type_info</a></span></code></li><li id="type-c_type.DecltypeType" class="def variant constructor anchored"><a href="#type-c_type.DecltypeType" class="anchor"></a><code><span>| </span><span><span class="constructor">DecltypeType</span> <span class="keyword">of</span> <a href="#type-type_info">type_info</a> * <a href="#type-qual_type">qual_type</a></span></code></li><li id="type-c_type.AutoType" class="def variant constructor anchored"><a href="#type-c_type.AutoType" class="anchor"></a><code><span>| </span><span><span class="constructor">AutoType</span> <span class="keyword">of</span> <a href="#type-type_info">type_info</a></span></code></li><li id="type-c_type.DeducedTemplateSpecializationType" class="def variant constructor anchored"><a href="#type-c_type.DeducedTemplateSpecializationType" class="anchor"></a><code><span>| </span><span><span class="constructor">DeducedTemplateSpecializationType</span> <span class="keyword">of</span> <a href="#type-type_info">type_info</a></span></code></li><li id="type-c_type.DependentAddressSpaceType" class="def variant constructor anchored"><a href="#type-c_type.DependentAddressSpaceType" class="anchor"></a><code><span>| </span><span><span class="constructor">DependentAddressSpaceType</span> <span class="keyword">of</span> <a href="#type-type_info">type_info</a></span></code></li><li id="type-c_type.DependentBitIntType" class="def variant constructor anchored"><a href="#type-c_type.DependentBitIntType" class="anchor"></a><code><span>| </span><span><span class="constructor">DependentBitIntType</span> <span class="keyword">of</span> <a href="#type-type_info">type_info</a></span></code></li><li id="type-c_type.DependentNameType" class="def variant constructor anchored"><a href="#type-c_type.DependentNameType" class="anchor"></a><code><span>| </span><span><span class="constructor">DependentNameType</span> <span class="keyword">of</span> <a href="#type-type_info">type_info</a></span></code></li><li id="type-c_type.DependentSizedExtVectorType" class="def variant constructor anchored"><a href="#type-c_type.DependentSizedExtVectorType" class="anchor"></a><code><span>| </span><span><span class="constructor">DependentSizedExtVectorType</span> <span class="keyword">of</span> <a href="#type-type_info">type_info</a></span></code></li><li id="type-c_type.DependentTemplateSpecializationType" class="def variant constructor anchored"><a href="#type-c_type.DependentTemplateSpecializationType" class="anchor"></a><code><span>| </span><span><span class="constructor">DependentTemplateSpecializationType</span> <span class="keyword">of</span> <a href="#type-type_info">type_info</a></span></code></li><li id="type-c_type.DependentVectorType" class="def variant constructor anchored"><a href="#type-c_type.DependentVectorType" class="anchor"></a><code><span>| </span><span><span class="constructor">DependentVectorType</span> <span class="keyword">of</span> <a href="#type-type_info">type_info</a></span></code></li><li id="type-c_type.ElaboratedType" class="def variant constructor anchored"><a href="#type-c_type.ElaboratedType" class="anchor"></a><code><span>| </span><span><span class="constructor">ElaboratedType</span> <span class="keyword">of</span> <a href="#type-type_info">type_info</a></span></code></li><li id="type-c_type.FunctionNoProtoType" class="def variant constructor anchored"><a href="#type-c_type.FunctionNoProtoType" class="anchor"></a><code><span>| </span><span><span class="constructor">FunctionNoProtoType</span> <span class="keyword">of</span> <a href="#type-type_info">type_info</a> * <a href="#type-function_type_info">function_type_info</a></span></code></li><li id="type-c_type.FunctionProtoType" class="def variant constructor anchored"><a href="#type-c_type.FunctionProtoType" class="anchor"></a><code><span>| </span><span><span class="constructor">FunctionProtoType</span> <span class="keyword">of</span> <a href="#type-type_info">type_info</a> * <a href="#type-function_type_info">function_type_info</a> * <a href="#type-params_type_info">params_type_info</a></span></code></li><li id="type-c_type.InjectedClassNameType" class="def variant constructor anchored"><a href="#type-c_type.InjectedClassNameType" class="anchor"></a><code><span>| </span><span><span class="constructor">InjectedClassNameType</span> <span class="keyword">of</span> <a href="#type-type_info">type_info</a></span></code></li><li id="type-c_type.MacroQualifiedType" class="def variant constructor anchored"><a href="#type-c_type.MacroQualifiedType" class="anchor"></a><code><span>| </span><span><span class="constructor">MacroQualifiedType</span> <span class="keyword">of</span> <a href="#type-type_info">type_info</a></span></code></li><li id="type-c_type.ConstantMatrixType" class="def variant constructor anchored"><a href="#type-c_type.ConstantMatrixType" class="anchor"></a><code><span>| </span><span><span class="constructor">ConstantMatrixType</span> <span class="keyword">of</span> <a href="#type-type_info">type_info</a></span></code></li><li id="type-c_type.DependentSizedMatrixType" class="def variant constructor anchored"><a href="#type-c_type.DependentSizedMatrixType" class="anchor"></a><code><span>| </span><span><span class="constructor">DependentSizedMatrixType</span> <span class="keyword">of</span> <a href="#type-type_info">type_info</a></span></code></li><li id="type-c_type.MemberPointerType" class="def variant constructor anchored"><a href="#type-c_type.MemberPointerType" class="anchor"></a><code><span>| </span><span><span class="constructor">MemberPointerType</span> <span class="keyword">of</span> <a href="#type-type_info">type_info</a> * <a href="#type-qual_type">qual_type</a></span></code></li><li id="type-c_type.ObjCObjectPointerType" class="def variant constructor anchored"><a href="#type-c_type.ObjCObjectPointerType" class="anchor"></a><code><span>| </span><span><span class="constructor">ObjCObjectPointerType</span> <span class="keyword">of</span> <a href="#type-type_info">type_info</a> * <a href="#type-qual_type">qual_type</a></span></code></li><li id="type-c_type.ObjCObjectType" class="def variant constructor anchored"><a href="#type-c_type.ObjCObjectType" class="anchor"></a><code><span>| </span><span><span class="constructor">ObjCObjectType</span> <span class="keyword">of</span> <a href="#type-type_info">type_info</a> * <a href="#type-objc_object_type_info">objc_object_type_info</a></span></code></li><li id="type-c_type.ObjCInterfaceType" class="def variant constructor anchored"><a href="#type-c_type.ObjCInterfaceType" class="anchor"></a><code><span>| </span><span><span class="constructor">ObjCInterfaceType</span> <span class="keyword">of</span> <a href="#type-type_info">type_info</a> * <a href="#type-pointer">pointer</a></span></code></li><li id="type-c_type.ObjCTypeParamType" class="def variant constructor anchored"><a href="#type-c_type.ObjCTypeParamType" class="anchor"></a><code><span>| </span><span><span class="constructor">ObjCTypeParamType</span> <span class="keyword">of</span> <a href="#type-type_info">type_info</a></span></code></li><li id="type-c_type.PackExpansionType" class="def variant constructor anchored"><a href="#type-c_type.PackExpansionType" class="anchor"></a><code><span>| </span><span><span class="constructor">PackExpansionType</span> <span class="keyword">of</span> <a href="#type-type_info">type_info</a></span></code></li><li id="type-c_type.ParenType" class="def variant constructor anchored"><a href="#type-c_type.ParenType" class="anchor"></a><code><span>| </span><span><span class="constructor">ParenType</span> <span class="keyword">of</span> <a href="#type-type_info">type_info</a> * <a href="#type-qual_type">qual_type</a></span></code></li><li id="type-c_type.PipeType" class="def variant constructor anchored"><a href="#type-c_type.PipeType" class="anchor"></a><code><span>| </span><span><span class="constructor">PipeType</span> <span class="keyword">of</span> <a href="#type-type_info">type_info</a></span></code></li><li id="type-c_type.PointerType" class="def variant constructor anchored"><a href="#type-c_type.PointerType" class="anchor"></a><code><span>| </span><span><span class="constructor">PointerType</span> <span class="keyword">of</span> <a href="#type-type_info">type_info</a> * <a href="#type-qual_type">qual_type</a></span></code></li><li id="type-c_type.LValueReferenceType" class="def variant constructor anchored"><a href="#type-c_type.LValueReferenceType" class="anchor"></a><code><span>| </span><span><span class="constructor">LValueReferenceType</span> <span class="keyword">of</span> <a href="#type-type_info">type_info</a> * <a href="#type-qual_type">qual_type</a></span></code></li><li id="type-c_type.RValueReferenceType" class="def variant constructor anchored"><a href="#type-c_type.RValueReferenceType" class="anchor"></a><code><span>| </span><span><span class="constructor">RValueReferenceType</span> <span class="keyword">of</span> <a href="#type-type_info">type_info</a> * <a href="#type-qual_type">qual_type</a></span></code></li><li id="type-c_type.SubstTemplateTypeParmPackType" class="def variant constructor anchored"><a href="#type-c_type.SubstTemplateTypeParmPackType" class="anchor"></a><code><span>| </span><span><span class="constructor">SubstTemplateTypeParmPackType</span> <span class="keyword">of</span> <a href="#type-type_info">type_info</a></span></code></li><li id="type-c_type.SubstTemplateTypeParmType" class="def variant constructor anchored"><a href="#type-c_type.SubstTemplateTypeParmType" class="anchor"></a><code><span>| </span><span><span class="constructor">SubstTemplateTypeParmType</span> <span class="keyword">of</span> <a href="#type-type_info">type_info</a></span></code></li><li id="type-c_type.EnumType" class="def variant constructor anchored"><a href="#type-c_type.EnumType" class="anchor"></a><code><span>| </span><span><span class="constructor">EnumType</span> <span class="keyword">of</span> <a href="#type-type_info">type_info</a> * <a href="#type-pointer">pointer</a></span></code></li><li id="type-c_type.RecordType" class="def variant constructor anchored"><a href="#type-c_type.RecordType" class="anchor"></a><code><span>| </span><span><span class="constructor">RecordType</span> <span class="keyword">of</span> <a href="#type-type_info">type_info</a> * <a href="#type-pointer">pointer</a></span></code></li><li id="type-c_type.TemplateSpecializationType" class="def variant constructor anchored"><a href="#type-c_type.TemplateSpecializationType" class="anchor"></a><code><span>| </span><span><span class="constructor">TemplateSpecializationType</span> <span class="keyword">of</span> <a href="#type-type_info">type_info</a></span></code></li><li id="type-c_type.TemplateTypeParmType" class="def variant constructor anchored"><a href="#type-c_type.TemplateTypeParmType" class="anchor"></a><code><span>| </span><span><span class="constructor">TemplateTypeParmType</span> <span class="keyword">of</span> <a href="#type-type_info">type_info</a></span></code></li><li id="type-c_type.TypeOfExprType" class="def variant constructor anchored"><a href="#type-c_type.TypeOfExprType" class="anchor"></a><code><span>| </span><span><span class="constructor">TypeOfExprType</span> <span class="keyword">of</span> <a href="#type-type_info">type_info</a></span></code></li><li id="type-c_type.TypeOfType" class="def variant constructor anchored"><a href="#type-c_type.TypeOfType" class="anchor"></a><code><span>| </span><span><span class="constructor">TypeOfType</span> <span class="keyword">of</span> <a href="#type-type_info">type_info</a></span></code></li><li id="type-c_type.TypedefType" class="def variant constructor anchored"><a href="#type-c_type.TypedefType" class="anchor"></a><code><span>| </span><span><span class="constructor">TypedefType</span> <span class="keyword">of</span> <a href="#type-type_info">type_info</a> * <a href="#type-typedef_type_info">typedef_type_info</a></span></code></li><li id="type-c_type.UnaryTransformType" class="def variant constructor anchored"><a href="#type-c_type.UnaryTransformType" class="anchor"></a><code><span>| </span><span><span class="constructor">UnaryTransformType</span> <span class="keyword">of</span> <a href="#type-type_info">type_info</a></span></code></li><li id="type-c_type.UnresolvedUsingType" class="def variant constructor anchored"><a href="#type-c_type.UnresolvedUsingType" class="anchor"></a><code><span>| </span><span><span class="constructor">UnresolvedUsingType</span> <span class="keyword">of</span> <a href="#type-type_info">type_info</a></span></code></li><li id="type-c_type.UsingType" class="def variant constructor anchored"><a href="#type-c_type.UsingType" class="anchor"></a><code><span>| </span><span><span class="constructor">UsingType</span> <span class="keyword">of</span> <a href="#type-type_info">type_info</a></span></code></li><li id="type-c_type.VectorType" class="def variant constructor anchored"><a href="#type-c_type.VectorType" class="anchor"></a><code><span>| </span><span><span class="constructor">VectorType</span> <span class="keyword">of</span> <a href="#type-type_info">type_info</a></span></code></li><li id="type-c_type.ExtVectorType" class="def variant constructor anchored"><a href="#type-c_type.ExtVectorType" class="anchor"></a><code><span>| </span><span><span class="constructor">ExtVectorType</span> <span class="keyword">of</span> <a href="#type-type_info">type_info</a></span></code></li></ol></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-translation_unit_decl_info"><a href="#type-translation_unit_decl_info" class="anchor"></a><code><span><span class="keyword">type</span> translation_unit_decl_info</span><span> = </span><span>{</span></code><ol><li id="type-translation_unit_decl_info.tudi_input_path" class="def record field anchored"><a href="#type-translation_unit_decl_info.tudi_input_path" class="anchor"></a><code><span>tudi_input_path : <a href="#type-source_file">source_file</a>;</span></code></li><li id="type-translation_unit_decl_info.tudi_input_kind" class="def record field anchored"><a href="#type-translation_unit_decl_info.tudi_input_kind" class="anchor"></a><code><span>tudi_input_kind : <a href="#type-input_kind">input_kind</a>;</span></code></li><li id="type-translation_unit_decl_info.tudi_integer_type_widths" class="def record field anchored"><a href="#type-translation_unit_decl_info.tudi_integer_type_widths" class="anchor"></a><code><span>tudi_integer_type_widths : <a href="#type-integer_type_widths">integer_type_widths</a>;</span></code></li><li id="type-translation_unit_decl_info.tudi_is_objc_arc_on" class="def record field anchored"><a href="#type-translation_unit_decl_info.tudi_is_objc_arc_on" class="anchor"></a><code><span>tudi_is_objc_arc_on : bool;</span></code></li><li id="type-translation_unit_decl_info.tudi_types" class="def record field anchored"><a href="#type-translation_unit_decl_info.tudi_types" class="anchor"></a><code><span>tudi_types : <span><a href="#type-c_type">c_type</a> list</span>;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-unary_expr_or_type_trait_kind"><a href="#type-unary_expr_or_type_trait_kind" class="anchor"></a><code><span><span class="keyword">type</span> unary_expr_or_type_trait_kind</span><span> = </span><span>[ </span></code><ol><li id="type-unary_expr_or_type_trait_kind.AlignOf" class="def variant constructor anchored"><a href="#type-unary_expr_or_type_trait_kind.AlignOf" class="anchor"></a><code><span>| </span><span>`AlignOf</span></code></li><li id="type-unary_expr_or_type_trait_kind.OpenMPRequiredSimdAlign" class="def variant constructor anchored"><a href="#type-unary_expr_or_type_trait_kind.OpenMPRequiredSimdAlign" class="anchor"></a><code><span>| </span><span>`OpenMPRequiredSimdAlign</span></code></li><li id="type-unary_expr_or_type_trait_kind.PreferredAlignOf" class="def variant constructor anchored"><a href="#type-unary_expr_or_type_trait_kind.PreferredAlignOf" class="anchor"></a><code><span>| </span><span>`PreferredAlignOf</span></code></li><li id="type-unary_expr_or_type_trait_kind.SizeOf" class="def variant constructor anchored"><a href="#type-unary_expr_or_type_trait_kind.SizeOf" class="anchor"></a><code><span>| </span><span>`SizeOf</span></code></li><li id="type-unary_expr_or_type_trait_kind.SizeOfWithSize" class="def variant constructor anchored"><a href="#type-unary_expr_or_type_trait_kind.SizeOfWithSize" class="anchor"></a><code><span>| </span><span>`SizeOfWithSize <span class="keyword">of</span> int</span></code></li><li id="type-unary_expr_or_type_trait_kind.VecStep" class="def variant constructor anchored"><a href="#type-unary_expr_or_type_trait_kind.VecStep" class="anchor"></a><code><span>| </span><span>`VecStep</span></code></li><li id="type-unary_expr_or_type_trait_kind.VectorElements" class="def variant constructor anchored"><a href="#type-unary_expr_or_type_trait_kind.VectorElements" class="anchor"></a><code><span>| </span><span>`VectorElements</span></code></li></ol><code><span> ]</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-unary_expr_or_type_trait_expr_info"><a href="#type-unary_expr_or_type_trait_expr_info" class="anchor"></a><code><span><span class="keyword">type</span> unary_expr_or_type_trait_expr_info</span><span> = </span><span>{</span></code><ol><li id="type-unary_expr_or_type_trait_expr_info.uttei_kind" class="def record field anchored"><a href="#type-unary_expr_or_type_trait_expr_info.uttei_kind" class="anchor"></a><code><span>uttei_kind : <a href="#type-unary_expr_or_type_trait_kind">unary_expr_or_type_trait_kind</a>;</span></code></li><li id="type-unary_expr_or_type_trait_expr_info.uttei_qual_type" class="def record field anchored"><a href="#type-unary_expr_or_type_trait_expr_info.uttei_qual_type" class="anchor"></a><code><span>uttei_qual_type : <a href="#type-qual_type">qual_type</a>;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-unary_operator_kind"><a href="#type-unary_operator_kind" class="anchor"></a><code><span><span class="keyword">type</span> unary_operator_kind</span><span> = </span><span>[ </span></code><ol><li id="type-unary_operator_kind.PostInc" class="def variant constructor anchored"><a href="#type-unary_operator_kind.PostInc" class="anchor"></a><code><span>| </span><span>`PostInc</span></code></li><li id="type-unary_operator_kind.PostDec" class="def variant constructor anchored"><a href="#type-unary_operator_kind.PostDec" class="anchor"></a><code><span>| </span><span>`PostDec</span></code></li><li id="type-unary_operator_kind.PreInc" class="def variant constructor anchored"><a href="#type-unary_operator_kind.PreInc" class="anchor"></a><code><span>| </span><span>`PreInc</span></code></li><li id="type-unary_operator_kind.PreDec" class="def variant constructor anchored"><a href="#type-unary_operator_kind.PreDec" class="anchor"></a><code><span>| </span><span>`PreDec</span></code></li><li id="type-unary_operator_kind.AddrOf" class="def variant constructor anchored"><a href="#type-unary_operator_kind.AddrOf" class="anchor"></a><code><span>| </span><span>`AddrOf</span></code></li><li id="type-unary_operator_kind.Deref" class="def variant constructor anchored"><a href="#type-unary_operator_kind.Deref" class="anchor"></a><code><span>| </span><span>`Deref</span></code></li><li id="type-unary_operator_kind.Plus" class="def variant constructor anchored"><a href="#type-unary_operator_kind.Plus" class="anchor"></a><code><span>| </span><span>`Plus</span></code></li><li id="type-unary_operator_kind.Minus" class="def variant constructor anchored"><a href="#type-unary_operator_kind.Minus" class="anchor"></a><code><span>| </span><span>`Minus</span></code></li><li id="type-unary_operator_kind.Not" class="def variant constructor anchored"><a href="#type-unary_operator_kind.Not" class="anchor"></a><code><span>| </span><span>`Not</span></code></li><li id="type-unary_operator_kind.LNot" class="def variant constructor anchored"><a href="#type-unary_operator_kind.LNot" class="anchor"></a><code><span>| </span><span>`LNot</span></code></li><li id="type-unary_operator_kind.Real" class="def variant constructor anchored"><a href="#type-unary_operator_kind.Real" class="anchor"></a><code><span>| </span><span>`Real</span></code></li><li id="type-unary_operator_kind.Imag" class="def variant constructor anchored"><a href="#type-unary_operator_kind.Imag" class="anchor"></a><code><span>| </span><span>`Imag</span></code></li><li id="type-unary_operator_kind.Extension" class="def variant constructor anchored"><a href="#type-unary_operator_kind.Extension" class="anchor"></a><code><span>| </span><span>`Extension</span></code></li><li id="type-unary_operator_kind.Coawait" class="def variant constructor anchored"><a href="#type-unary_operator_kind.Coawait" class="anchor"></a><code><span>| </span><span>`Coawait</span></code></li></ol><code><span> ]</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-unary_operator_info"><a href="#type-unary_operator_info" class="anchor"></a><code><span><span class="keyword">type</span> unary_operator_info</span><span> = </span><span>{</span></code><ol><li id="type-unary_operator_info.uoi_kind" class="def record field anchored"><a href="#type-unary_operator_info.uoi_kind" class="anchor"></a><code><span>uoi_kind : <a href="#type-unary_operator_kind">unary_operator_kind</a>;</span></code></li><li id="type-unary_operator_info.uoi_is_postfix" class="def record field anchored"><a href="#type-unary_operator_info.uoi_is_postfix" class="anchor"></a><code><span>uoi_is_postfix : bool;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-unresolved_lookup_expr_info"><a href="#type-unresolved_lookup_expr_info" class="anchor"></a><code><span><span class="keyword">type</span> unresolved_lookup_expr_info</span><span> = </span><span>{</span></code><ol><li id="type-unresolved_lookup_expr_info.ulei_requires_ADL" class="def record field anchored"><a href="#type-unresolved_lookup_expr_info.ulei_requires_ADL" class="anchor"></a><code><span>ulei_requires_ADL : bool;</span></code></li><li id="type-unresolved_lookup_expr_info.ulei_is_overloaded" class="def record field anchored"><a href="#type-unresolved_lookup_expr_info.ulei_is_overloaded" class="anchor"></a><code><span>ulei_is_overloaded : bool;</span></code></li><li id="type-unresolved_lookup_expr_info.ulei_naming_class" class="def record field anchored"><a href="#type-unresolved_lookup_expr_info.ulei_naming_class" class="anchor"></a><code><span>ulei_naming_class : <span><a href="#type-decl_ref">decl_ref</a> option</span>;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-using_directive_decl_info"><a href="#type-using_directive_decl_info" class="anchor"></a><code><span><span class="keyword">type</span> using_directive_decl_info</span><span> = </span><span>{</span></code><ol><li id="type-using_directive_decl_info.uddi_using_location" class="def record field anchored"><a href="#type-using_directive_decl_info.uddi_using_location" class="anchor"></a><code><span>uddi_using_location : <a href="#type-source_location">source_location</a>;</span></code></li><li id="type-using_directive_decl_info.uddi_namespace_key_location" class="def record field anchored"><a href="#type-using_directive_decl_info.uddi_namespace_key_location" class="anchor"></a><code><span>uddi_namespace_key_location : <a href="#type-source_location">source_location</a>;</span></code></li><li id="type-using_directive_decl_info.uddi_nested_name_specifier_locs" class="def record field anchored"><a href="#type-using_directive_decl_info.uddi_nested_name_specifier_locs" class="anchor"></a><code><span>uddi_nested_name_specifier_locs : <span><a href="#type-nested_name_specifier_loc">nested_name_specifier_loc</a> list</span>;</span></code></li><li id="type-using_directive_decl_info.uddi_nominated_namespace" class="def record field anchored"><a href="#type-using_directive_decl_info.uddi_nominated_namespace" class="anchor"></a><code><span>uddi_nominated_namespace : <span><a href="#type-decl_ref">decl_ref</a> option</span>;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-value_kind"><a href="#type-value_kind" class="anchor"></a><code><span><span class="keyword">type</span> value_kind</span><span> = </span><span>[ </span></code><ol><li id="type-value_kind.RValue" class="def variant constructor anchored"><a href="#type-value_kind.RValue" class="anchor"></a><code><span>| </span><span>`RValue</span></code></li><li id="type-value_kind.LValue" class="def variant constructor anchored"><a href="#type-value_kind.LValue" class="anchor"></a><code><span>| </span><span>`LValue</span></code></li><li id="type-value_kind.XValue" class="def variant constructor anchored"><a href="#type-value_kind.XValue" class="anchor"></a><code><span>| </span><span>`XValue</span></code></li></ol><code><span> ]</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-expr_info"><a href="#type-expr_info" class="anchor"></a><code><span><span class="keyword">type</span> expr_info</span><span> = </span><span>{</span></code><ol><li id="type-expr_info.ei_qual_type" class="def record field anchored"><a href="#type-expr_info.ei_qual_type" class="anchor"></a><code><span>ei_qual_type : <a href="#type-qual_type">qual_type</a>;</span></code></li><li id="type-expr_info.ei_value_kind" class="def record field anchored"><a href="#type-expr_info.ei_value_kind" class="anchor"></a><code><span>ei_value_kind : <a href="#type-value_kind">value_kind</a>;</span></code></li><li id="type-expr_info.ei_object_kind" class="def record field anchored"><a href="#type-expr_info.ei_object_kind" class="anchor"></a><code><span>ei_object_kind : <a href="#type-object_kind">object_kind</a>;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-version_tuple"><a href="#type-version_tuple" class="anchor"></a><code><span><span class="keyword">type</span> version_tuple</span><span> = </span><span>{</span></code><ol><li id="type-version_tuple.vt_major" class="def record field anchored"><a href="#type-version_tuple.vt_major" class="anchor"></a><code><span>vt_major : int;</span></code></li><li id="type-version_tuple.vt_minor" class="def record field anchored"><a href="#type-version_tuple.vt_minor" class="anchor"></a><code><span>vt_minor : <span>int option</span>;</span></code></li><li id="type-version_tuple.vt_subminor" class="def record field anchored"><a href="#type-version_tuple.vt_subminor" class="anchor"></a><code><span>vt_subminor : <span>int option</span>;</span></code></li><li id="type-version_tuple.vt_build" class="def record field anchored"><a href="#type-version_tuple.vt_build" class="anchor"></a><code><span>vt_build : <span>int option</span>;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-availability_attr_info"><a href="#type-availability_attr_info" class="anchor"></a><code><span><span class="keyword">type</span> availability_attr_info</span><span> = </span><span>{</span></code><ol><li id="type-availability_attr_info.aai_platform" class="def record field anchored"><a href="#type-availability_attr_info.aai_platform" class="anchor"></a><code><span>aai_platform : <span>string option</span>;</span></code></li><li id="type-availability_attr_info.aai_introduced" class="def record field anchored"><a href="#type-availability_attr_info.aai_introduced" class="anchor"></a><code><span>aai_introduced : <a href="#type-version_tuple">version_tuple</a>;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-visibility_attr"><a href="#type-visibility_attr" class="anchor"></a><code><span><span class="keyword">type</span> visibility_attr</span><span> = </span></code><ol><li id="type-visibility_attr.DefaultVisibility" class="def variant constructor anchored"><a href="#type-visibility_attr.DefaultVisibility" class="anchor"></a><code><span>| </span><span><span class="constructor">DefaultVisibility</span></span></code></li><li id="type-visibility_attr.HiddenVisibility" class="def variant constructor anchored"><a href="#type-visibility_attr.HiddenVisibility" class="anchor"></a><code><span>| </span><span><span class="constructor">HiddenVisibility</span></span></code></li><li id="type-visibility_attr.ProtectedVisibility" class="def variant constructor anchored"><a href="#type-visibility_attr.ProtectedVisibility" class="anchor"></a><code><span>| </span><span><span class="constructor">ProtectedVisibility</span></span></code></li></ol></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-attribute"><a href="#type-attribute" class="anchor"></a><code><span><span class="keyword">type</span> attribute</span><span> = </span><span>[ </span></code><ol><li id="type-attribute.AddressSpaceAttr" class="def variant constructor anchored"><a href="#type-attribute.AddressSpaceAttr" class="anchor"></a><code><span>| </span><span>`AddressSpaceAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.AnnotateTypeAttr" class="def variant constructor anchored"><a href="#type-attribute.AnnotateTypeAttr" class="anchor"></a><code><span>| </span><span>`AnnotateTypeAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.ArmInAttr" class="def variant constructor anchored"><a href="#type-attribute.ArmInAttr" class="anchor"></a><code><span>| </span><span>`ArmInAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.ArmInOutAttr" class="def variant constructor anchored"><a href="#type-attribute.ArmInOutAttr" class="anchor"></a><code><span>| </span><span>`ArmInOutAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.ArmMveStrictPolymorphismAttr" class="def variant constructor anchored"><a href="#type-attribute.ArmMveStrictPolymorphismAttr" class="anchor"></a><code><span>| </span><span>`ArmMveStrictPolymorphismAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.ArmOutAttr" class="def variant constructor anchored"><a href="#type-attribute.ArmOutAttr" class="anchor"></a><code><span>| </span><span>`ArmOutAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.ArmPreservesAttr" class="def variant constructor anchored"><a href="#type-attribute.ArmPreservesAttr" class="anchor"></a><code><span>| </span><span>`ArmPreservesAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.ArmStreamingAttr" class="def variant constructor anchored"><a href="#type-attribute.ArmStreamingAttr" class="anchor"></a><code><span>| </span><span>`ArmStreamingAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.ArmStreamingCompatibleAttr" class="def variant constructor anchored"><a href="#type-attribute.ArmStreamingCompatibleAttr" class="anchor"></a><code><span>| </span><span>`ArmStreamingCompatibleAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.BTFTypeTagAttr" class="def variant constructor anchored"><a href="#type-attribute.BTFTypeTagAttr" class="anchor"></a><code><span>| </span><span>`BTFTypeTagAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.CmseNSCallAttr" class="def variant constructor anchored"><a href="#type-attribute.CmseNSCallAttr" class="anchor"></a><code><span>| </span><span>`CmseNSCallAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.HLSLGroupSharedAddressSpaceAttr" class="def variant constructor anchored"><a href="#type-attribute.HLSLGroupSharedAddressSpaceAttr" class="anchor"></a><code><span>| </span><span>`HLSLGroupSharedAddressSpaceAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.HLSLParamModifierAttr" class="def variant constructor anchored"><a href="#type-attribute.HLSLParamModifierAttr" class="anchor"></a><code><span>| </span><span>`HLSLParamModifierAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.NoDerefAttr" class="def variant constructor anchored"><a href="#type-attribute.NoDerefAttr" class="anchor"></a><code><span>| </span><span>`NoDerefAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.ObjCGCAttr" class="def variant constructor anchored"><a href="#type-attribute.ObjCGCAttr" class="anchor"></a><code><span>| </span><span>`ObjCGCAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.ObjCInertUnsafeUnretainedAttr" class="def variant constructor anchored"><a href="#type-attribute.ObjCInertUnsafeUnretainedAttr" class="anchor"></a><code><span>| </span><span>`ObjCInertUnsafeUnretainedAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.ObjCKindOfAttr" class="def variant constructor anchored"><a href="#type-attribute.ObjCKindOfAttr" class="anchor"></a><code><span>| </span><span>`ObjCKindOfAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.OpenCLConstantAddressSpaceAttr" class="def variant constructor anchored"><a href="#type-attribute.OpenCLConstantAddressSpaceAttr" class="anchor"></a><code><span>| </span><span>`OpenCLConstantAddressSpaceAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.OpenCLGenericAddressSpaceAttr" class="def variant constructor anchored"><a href="#type-attribute.OpenCLGenericAddressSpaceAttr" class="anchor"></a><code><span>| </span><span>`OpenCLGenericAddressSpaceAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.OpenCLGlobalAddressSpaceAttr" class="def variant constructor anchored"><a href="#type-attribute.OpenCLGlobalAddressSpaceAttr" class="anchor"></a><code><span>| </span><span>`OpenCLGlobalAddressSpaceAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.OpenCLGlobalDeviceAddressSpaceAttr" class="def variant constructor anchored"><a href="#type-attribute.OpenCLGlobalDeviceAddressSpaceAttr" class="anchor"></a><code><span>| </span><span>`OpenCLGlobalDeviceAddressSpaceAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.OpenCLGlobalHostAddressSpaceAttr" class="def variant constructor anchored"><a href="#type-attribute.OpenCLGlobalHostAddressSpaceAttr" class="anchor"></a><code><span>| </span><span>`OpenCLGlobalHostAddressSpaceAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.OpenCLLocalAddressSpaceAttr" class="def variant constructor anchored"><a href="#type-attribute.OpenCLLocalAddressSpaceAttr" class="anchor"></a><code><span>| </span><span>`OpenCLLocalAddressSpaceAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.OpenCLPrivateAddressSpaceAttr" class="def variant constructor anchored"><a href="#type-attribute.OpenCLPrivateAddressSpaceAttr" class="anchor"></a><code><span>| </span><span>`OpenCLPrivateAddressSpaceAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.Ptr32Attr" class="def variant constructor anchored"><a href="#type-attribute.Ptr32Attr" class="anchor"></a><code><span>| </span><span>`Ptr32Attr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.Ptr64Attr" class="def variant constructor anchored"><a href="#type-attribute.Ptr64Attr" class="anchor"></a><code><span>| </span><span>`Ptr64Attr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.SPtrAttr" class="def variant constructor anchored"><a href="#type-attribute.SPtrAttr" class="anchor"></a><code><span>| </span><span>`SPtrAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.TypeNonNullAttr" class="def variant constructor anchored"><a href="#type-attribute.TypeNonNullAttr" class="anchor"></a><code><span>| </span><span>`TypeNonNullAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.TypeNullUnspecifiedAttr" class="def variant constructor anchored"><a href="#type-attribute.TypeNullUnspecifiedAttr" class="anchor"></a><code><span>| </span><span>`TypeNullUnspecifiedAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.TypeNullableAttr" class="def variant constructor anchored"><a href="#type-attribute.TypeNullableAttr" class="anchor"></a><code><span>| </span><span>`TypeNullableAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.TypeNullableResultAttr" class="def variant constructor anchored"><a href="#type-attribute.TypeNullableResultAttr" class="anchor"></a><code><span>| </span><span>`TypeNullableResultAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.UPtrAttr" class="def variant constructor anchored"><a href="#type-attribute.UPtrAttr" class="anchor"></a><code><span>| </span><span>`UPtrAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.WebAssemblyFuncrefAttr" class="def variant constructor anchored"><a href="#type-attribute.WebAssemblyFuncrefAttr" class="anchor"></a><code><span>| </span><span>`WebAssemblyFuncrefAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.CodeAlignAttr" class="def variant constructor anchored"><a href="#type-attribute.CodeAlignAttr" class="anchor"></a><code><span>| </span><span>`CodeAlignAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.FallThroughAttr" class="def variant constructor anchored"><a href="#type-attribute.FallThroughAttr" class="anchor"></a><code><span>| </span><span>`FallThroughAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.LikelyAttr" class="def variant constructor anchored"><a href="#type-attribute.LikelyAttr" class="anchor"></a><code><span>| </span><span>`LikelyAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.MustTailAttr" class="def variant constructor anchored"><a href="#type-attribute.MustTailAttr" class="anchor"></a><code><span>| </span><span>`MustTailAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.OpenCLUnrollHintAttr" class="def variant constructor anchored"><a href="#type-attribute.OpenCLUnrollHintAttr" class="anchor"></a><code><span>| </span><span>`OpenCLUnrollHintAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.UnlikelyAttr" class="def variant constructor anchored"><a href="#type-attribute.UnlikelyAttr" class="anchor"></a><code><span>| </span><span>`UnlikelyAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.AlwaysInlineAttr" class="def variant constructor anchored"><a href="#type-attribute.AlwaysInlineAttr" class="anchor"></a><code><span>| </span><span>`AlwaysInlineAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.NoInlineAttr" class="def variant constructor anchored"><a href="#type-attribute.NoInlineAttr" class="anchor"></a><code><span>| </span><span>`NoInlineAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.NoMergeAttr" class="def variant constructor anchored"><a href="#type-attribute.NoMergeAttr" class="anchor"></a><code><span>| </span><span>`NoMergeAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.SuppressAttr" class="def variant constructor anchored"><a href="#type-attribute.SuppressAttr" class="anchor"></a><code><span>| </span><span>`SuppressAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.AArch64SVEPcsAttr" class="def variant constructor anchored"><a href="#type-attribute.AArch64SVEPcsAttr" class="anchor"></a><code><span>| </span><span>`AArch64SVEPcsAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.AArch64VectorPcsAttr" class="def variant constructor anchored"><a href="#type-attribute.AArch64VectorPcsAttr" class="anchor"></a><code><span>| </span><span>`AArch64VectorPcsAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.AMDGPUKernelCallAttr" class="def variant constructor anchored"><a href="#type-attribute.AMDGPUKernelCallAttr" class="anchor"></a><code><span>| </span><span>`AMDGPUKernelCallAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.AcquireHandleAttr" class="def variant constructor anchored"><a href="#type-attribute.AcquireHandleAttr" class="anchor"></a><code><span>| </span><span>`AcquireHandleAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.AnyX86NoCfCheckAttr" class="def variant constructor anchored"><a href="#type-attribute.AnyX86NoCfCheckAttr" class="anchor"></a><code><span>| </span><span>`AnyX86NoCfCheckAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.CDeclAttr" class="def variant constructor anchored"><a href="#type-attribute.CDeclAttr" class="anchor"></a><code><span>| </span><span>`CDeclAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.FastCallAttr" class="def variant constructor anchored"><a href="#type-attribute.FastCallAttr" class="anchor"></a><code><span>| </span><span>`FastCallAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.IntelOclBiccAttr" class="def variant constructor anchored"><a href="#type-attribute.IntelOclBiccAttr" class="anchor"></a><code><span>| </span><span>`IntelOclBiccAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.LifetimeBoundAttr" class="def variant constructor anchored"><a href="#type-attribute.LifetimeBoundAttr" class="anchor"></a><code><span>| </span><span>`LifetimeBoundAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.M68kRTDAttr" class="def variant constructor anchored"><a href="#type-attribute.M68kRTDAttr" class="anchor"></a><code><span>| </span><span>`M68kRTDAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.MSABIAttr" class="def variant constructor anchored"><a href="#type-attribute.MSABIAttr" class="anchor"></a><code><span>| </span><span>`MSABIAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.NSReturnsRetainedAttr" class="def variant constructor anchored"><a href="#type-attribute.NSReturnsRetainedAttr" class="anchor"></a><code><span>| </span><span>`NSReturnsRetainedAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.ObjCOwnershipAttr" class="def variant constructor anchored"><a href="#type-attribute.ObjCOwnershipAttr" class="anchor"></a><code><span>| </span><span>`ObjCOwnershipAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.PascalAttr" class="def variant constructor anchored"><a href="#type-attribute.PascalAttr" class="anchor"></a><code><span>| </span><span>`PascalAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.PcsAttr" class="def variant constructor anchored"><a href="#type-attribute.PcsAttr" class="anchor"></a><code><span>| </span><span>`PcsAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.PreserveAllAttr" class="def variant constructor anchored"><a href="#type-attribute.PreserveAllAttr" class="anchor"></a><code><span>| </span><span>`PreserveAllAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.PreserveMostAttr" class="def variant constructor anchored"><a href="#type-attribute.PreserveMostAttr" class="anchor"></a><code><span>| </span><span>`PreserveMostAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.RegCallAttr" class="def variant constructor anchored"><a href="#type-attribute.RegCallAttr" class="anchor"></a><code><span>| </span><span>`RegCallAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.StdCallAttr" class="def variant constructor anchored"><a href="#type-attribute.StdCallAttr" class="anchor"></a><code><span>| </span><span>`StdCallAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.SwiftAsyncCallAttr" class="def variant constructor anchored"><a href="#type-attribute.SwiftAsyncCallAttr" class="anchor"></a><code><span>| </span><span>`SwiftAsyncCallAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.SwiftCallAttr" class="def variant constructor anchored"><a href="#type-attribute.SwiftCallAttr" class="anchor"></a><code><span>| </span><span>`SwiftCallAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.SysVABIAttr" class="def variant constructor anchored"><a href="#type-attribute.SysVABIAttr" class="anchor"></a><code><span>| </span><span>`SysVABIAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.ThisCallAttr" class="def variant constructor anchored"><a href="#type-attribute.ThisCallAttr" class="anchor"></a><code><span>| </span><span>`ThisCallAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.VectorCallAttr" class="def variant constructor anchored"><a href="#type-attribute.VectorCallAttr" class="anchor"></a><code><span>| </span><span>`VectorCallAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.SwiftAsyncContextAttr" class="def variant constructor anchored"><a href="#type-attribute.SwiftAsyncContextAttr" class="anchor"></a><code><span>| </span><span>`SwiftAsyncContextAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.SwiftContextAttr" class="def variant constructor anchored"><a href="#type-attribute.SwiftContextAttr" class="anchor"></a><code><span>| </span><span>`SwiftContextAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.SwiftErrorResultAttr" class="def variant constructor anchored"><a href="#type-attribute.SwiftErrorResultAttr" class="anchor"></a><code><span>| </span><span>`SwiftErrorResultAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.SwiftIndirectResultAttr" class="def variant constructor anchored"><a href="#type-attribute.SwiftIndirectResultAttr" class="anchor"></a><code><span>| </span><span>`SwiftIndirectResultAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.AnnotateAttr" class="def variant constructor anchored"><a href="#type-attribute.AnnotateAttr" class="anchor"></a><code><span>| </span><span>`AnnotateAttr <span class="keyword">of</span> <a href="#type-attr_tuple">attr_tuple</a> * string</span></code></li><li id="type-attribute.CFConsumedAttr" class="def variant constructor anchored"><a href="#type-attribute.CFConsumedAttr" class="anchor"></a><code><span>| </span><span>`CFConsumedAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.CarriesDependencyAttr" class="def variant constructor anchored"><a href="#type-attribute.CarriesDependencyAttr" class="anchor"></a><code><span>| </span><span>`CarriesDependencyAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.NSConsumedAttr" class="def variant constructor anchored"><a href="#type-attribute.NSConsumedAttr" class="anchor"></a><code><span>| </span><span>`NSConsumedAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.NonNullAttr" class="def variant constructor anchored"><a href="#type-attribute.NonNullAttr" class="anchor"></a><code><span>| </span><span>`NonNullAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.OSConsumedAttr" class="def variant constructor anchored"><a href="#type-attribute.OSConsumedAttr" class="anchor"></a><code><span>| </span><span>`OSConsumedAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.PassObjectSizeAttr" class="def variant constructor anchored"><a href="#type-attribute.PassObjectSizeAttr" class="anchor"></a><code><span>| </span><span>`PassObjectSizeAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.ReleaseHandleAttr" class="def variant constructor anchored"><a href="#type-attribute.ReleaseHandleAttr" class="anchor"></a><code><span>| </span><span>`ReleaseHandleAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.UseHandleAttr" class="def variant constructor anchored"><a href="#type-attribute.UseHandleAttr" class="anchor"></a><code><span>| </span><span>`UseHandleAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.HLSLSV_DispatchThreadIDAttr" class="def variant constructor anchored"><a href="#type-attribute.HLSLSV_DispatchThreadIDAttr" class="anchor"></a><code><span>| </span><span>`HLSLSV_DispatchThreadIDAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.HLSLSV_GroupIndexAttr" class="def variant constructor anchored"><a href="#type-attribute.HLSLSV_GroupIndexAttr" class="anchor"></a><code><span>| </span><span>`HLSLSV_GroupIndexAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.AMDGPUFlatWorkGroupSizeAttr" class="def variant constructor anchored"><a href="#type-attribute.AMDGPUFlatWorkGroupSizeAttr" class="anchor"></a><code><span>| </span><span>`AMDGPUFlatWorkGroupSizeAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.AMDGPUNumSGPRAttr" class="def variant constructor anchored"><a href="#type-attribute.AMDGPUNumSGPRAttr" class="anchor"></a><code><span>| </span><span>`AMDGPUNumSGPRAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.AMDGPUNumVGPRAttr" class="def variant constructor anchored"><a href="#type-attribute.AMDGPUNumVGPRAttr" class="anchor"></a><code><span>| </span><span>`AMDGPUNumVGPRAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.AMDGPUWavesPerEUAttr" class="def variant constructor anchored"><a href="#type-attribute.AMDGPUWavesPerEUAttr" class="anchor"></a><code><span>| </span><span>`AMDGPUWavesPerEUAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.ARMInterruptAttr" class="def variant constructor anchored"><a href="#type-attribute.ARMInterruptAttr" class="anchor"></a><code><span>| </span><span>`ARMInterruptAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.AVRInterruptAttr" class="def variant constructor anchored"><a href="#type-attribute.AVRInterruptAttr" class="anchor"></a><code><span>| </span><span>`AVRInterruptAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.AVRSignalAttr" class="def variant constructor anchored"><a href="#type-attribute.AVRSignalAttr" class="anchor"></a><code><span>| </span><span>`AVRSignalAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.AcquireCapabilityAttr" class="def variant constructor anchored"><a href="#type-attribute.AcquireCapabilityAttr" class="anchor"></a><code><span>| </span><span>`AcquireCapabilityAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.AcquiredAfterAttr" class="def variant constructor anchored"><a href="#type-attribute.AcquiredAfterAttr" class="anchor"></a><code><span>| </span><span>`AcquiredAfterAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.AcquiredBeforeAttr" class="def variant constructor anchored"><a href="#type-attribute.AcquiredBeforeAttr" class="anchor"></a><code><span>| </span><span>`AcquiredBeforeAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.AlignMac68kAttr" class="def variant constructor anchored"><a href="#type-attribute.AlignMac68kAttr" class="anchor"></a><code><span>| </span><span>`AlignMac68kAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.AlignNaturalAttr" class="def variant constructor anchored"><a href="#type-attribute.AlignNaturalAttr" class="anchor"></a><code><span>| </span><span>`AlignNaturalAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.AlignedAttr" class="def variant constructor anchored"><a href="#type-attribute.AlignedAttr" class="anchor"></a><code><span>| </span><span>`AlignedAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.AllocAlignAttr" class="def variant constructor anchored"><a href="#type-attribute.AllocAlignAttr" class="anchor"></a><code><span>| </span><span>`AllocAlignAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.AllocSizeAttr" class="def variant constructor anchored"><a href="#type-attribute.AllocSizeAttr" class="anchor"></a><code><span>| </span><span>`AllocSizeAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.AlwaysDestroyAttr" class="def variant constructor anchored"><a href="#type-attribute.AlwaysDestroyAttr" class="anchor"></a><code><span>| </span><span>`AlwaysDestroyAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.AnalyzerNoReturnAttr" class="def variant constructor anchored"><a href="#type-attribute.AnalyzerNoReturnAttr" class="anchor"></a><code><span>| </span><span>`AnalyzerNoReturnAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.AnyX86InterruptAttr" class="def variant constructor anchored"><a href="#type-attribute.AnyX86InterruptAttr" class="anchor"></a><code><span>| </span><span>`AnyX86InterruptAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.AnyX86NoCallerSavedRegistersAttr" class="def variant constructor anchored"><a href="#type-attribute.AnyX86NoCallerSavedRegistersAttr" class="anchor"></a><code><span>| </span><span>`AnyX86NoCallerSavedRegistersAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.ArcWeakrefUnavailableAttr" class="def variant constructor anchored"><a href="#type-attribute.ArcWeakrefUnavailableAttr" class="anchor"></a><code><span>| </span><span>`ArcWeakrefUnavailableAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.ArgumentWithTypeTagAttr" class="def variant constructor anchored"><a href="#type-attribute.ArgumentWithTypeTagAttr" class="anchor"></a><code><span>| </span><span>`ArgumentWithTypeTagAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.ArmBuiltinAliasAttr" class="def variant constructor anchored"><a href="#type-attribute.ArmBuiltinAliasAttr" class="anchor"></a><code><span>| </span><span>`ArmBuiltinAliasAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.ArmLocallyStreamingAttr" class="def variant constructor anchored"><a href="#type-attribute.ArmLocallyStreamingAttr" class="anchor"></a><code><span>| </span><span>`ArmLocallyStreamingAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.ArmNewAttr" class="def variant constructor anchored"><a href="#type-attribute.ArmNewAttr" class="anchor"></a><code><span>| </span><span>`ArmNewAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.ArtificialAttr" class="def variant constructor anchored"><a href="#type-attribute.ArtificialAttr" class="anchor"></a><code><span>| </span><span>`ArtificialAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.AsmLabelAttr" class="def variant constructor anchored"><a href="#type-attribute.AsmLabelAttr" class="anchor"></a><code><span>| </span><span>`AsmLabelAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.AssertCapabilityAttr" class="def variant constructor anchored"><a href="#type-attribute.AssertCapabilityAttr" class="anchor"></a><code><span>| </span><span>`AssertCapabilityAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.AssertExclusiveLockAttr" class="def variant constructor anchored"><a href="#type-attribute.AssertExclusiveLockAttr" class="anchor"></a><code><span>| </span><span>`AssertExclusiveLockAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.AssertSharedLockAttr" class="def variant constructor anchored"><a href="#type-attribute.AssertSharedLockAttr" class="anchor"></a><code><span>| </span><span>`AssertSharedLockAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.AssumeAlignedAttr" class="def variant constructor anchored"><a href="#type-attribute.AssumeAlignedAttr" class="anchor"></a><code><span>| </span><span>`AssumeAlignedAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.AssumptionAttr" class="def variant constructor anchored"><a href="#type-attribute.AssumptionAttr" class="anchor"></a><code><span>| </span><span>`AssumptionAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.AvailabilityAttr" class="def variant constructor anchored"><a href="#type-attribute.AvailabilityAttr" class="anchor"></a><code><span>| </span><span>`AvailabilityAttr <span class="keyword">of</span> <a href="#type-attr_tuple">attr_tuple</a> * <a href="#type-availability_attr_info">availability_attr_info</a></span></code></li><li id="type-attribute.AvailableOnlyInDefaultEvalMethodAttr" class="def variant constructor anchored"><a href="#type-attribute.AvailableOnlyInDefaultEvalMethodAttr" class="anchor"></a><code><span>| </span><span>`AvailableOnlyInDefaultEvalMethodAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.BPFPreserveAccessIndexAttr" class="def variant constructor anchored"><a href="#type-attribute.BPFPreserveAccessIndexAttr" class="anchor"></a><code><span>| </span><span>`BPFPreserveAccessIndexAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.BPFPreserveStaticOffsetAttr" class="def variant constructor anchored"><a href="#type-attribute.BPFPreserveStaticOffsetAttr" class="anchor"></a><code><span>| </span><span>`BPFPreserveStaticOffsetAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.BTFDeclTagAttr" class="def variant constructor anchored"><a href="#type-attribute.BTFDeclTagAttr" class="anchor"></a><code><span>| </span><span>`BTFDeclTagAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.BlocksAttr" class="def variant constructor anchored"><a href="#type-attribute.BlocksAttr" class="anchor"></a><code><span>| </span><span>`BlocksAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.BuiltinAttr" class="def variant constructor anchored"><a href="#type-attribute.BuiltinAttr" class="anchor"></a><code><span>| </span><span>`BuiltinAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.C11NoReturnAttr" class="def variant constructor anchored"><a href="#type-attribute.C11NoReturnAttr" class="anchor"></a><code><span>| </span><span>`C11NoReturnAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.CFAuditedTransferAttr" class="def variant constructor anchored"><a href="#type-attribute.CFAuditedTransferAttr" class="anchor"></a><code><span>| </span><span>`CFAuditedTransferAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.CFGuardAttr" class="def variant constructor anchored"><a href="#type-attribute.CFGuardAttr" class="anchor"></a><code><span>| </span><span>`CFGuardAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.CFICanonicalJumpTableAttr" class="def variant constructor anchored"><a href="#type-attribute.CFICanonicalJumpTableAttr" class="anchor"></a><code><span>| </span><span>`CFICanonicalJumpTableAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.CFReturnsNotRetainedAttr" class="def variant constructor anchored"><a href="#type-attribute.CFReturnsNotRetainedAttr" class="anchor"></a><code><span>| </span><span>`CFReturnsNotRetainedAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.CFReturnsRetainedAttr" class="def variant constructor anchored"><a href="#type-attribute.CFReturnsRetainedAttr" class="anchor"></a><code><span>| </span><span>`CFReturnsRetainedAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.CFUnknownTransferAttr" class="def variant constructor anchored"><a href="#type-attribute.CFUnknownTransferAttr" class="anchor"></a><code><span>| </span><span>`CFUnknownTransferAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.CPUDispatchAttr" class="def variant constructor anchored"><a href="#type-attribute.CPUDispatchAttr" class="anchor"></a><code><span>| </span><span>`CPUDispatchAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.CPUSpecificAttr" class="def variant constructor anchored"><a href="#type-attribute.CPUSpecificAttr" class="anchor"></a><code><span>| </span><span>`CPUSpecificAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.CUDAConstantAttr" class="def variant constructor anchored"><a href="#type-attribute.CUDAConstantAttr" class="anchor"></a><code><span>| </span><span>`CUDAConstantAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.CUDADeviceAttr" class="def variant constructor anchored"><a href="#type-attribute.CUDADeviceAttr" class="anchor"></a><code><span>| </span><span>`CUDADeviceAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.CUDADeviceBuiltinSurfaceTypeAttr" class="def variant constructor anchored"><a href="#type-attribute.CUDADeviceBuiltinSurfaceTypeAttr" class="anchor"></a><code><span>| </span><span>`CUDADeviceBuiltinSurfaceTypeAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.CUDADeviceBuiltinTextureTypeAttr" class="def variant constructor anchored"><a href="#type-attribute.CUDADeviceBuiltinTextureTypeAttr" class="anchor"></a><code><span>| </span><span>`CUDADeviceBuiltinTextureTypeAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.CUDAGlobalAttr" class="def variant constructor anchored"><a href="#type-attribute.CUDAGlobalAttr" class="anchor"></a><code><span>| </span><span>`CUDAGlobalAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.CUDAHostAttr" class="def variant constructor anchored"><a href="#type-attribute.CUDAHostAttr" class="anchor"></a><code><span>| </span><span>`CUDAHostAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.CUDAInvalidTargetAttr" class="def variant constructor anchored"><a href="#type-attribute.CUDAInvalidTargetAttr" class="anchor"></a><code><span>| </span><span>`CUDAInvalidTargetAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.CUDALaunchBoundsAttr" class="def variant constructor anchored"><a href="#type-attribute.CUDALaunchBoundsAttr" class="anchor"></a><code><span>| </span><span>`CUDALaunchBoundsAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.CUDASharedAttr" class="def variant constructor anchored"><a href="#type-attribute.CUDASharedAttr" class="anchor"></a><code><span>| </span><span>`CUDASharedAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.CXX11NoReturnAttr" class="def variant constructor anchored"><a href="#type-attribute.CXX11NoReturnAttr" class="anchor"></a><code><span>| </span><span>`CXX11NoReturnAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.CallableWhenAttr" class="def variant constructor anchored"><a href="#type-attribute.CallableWhenAttr" class="anchor"></a><code><span>| </span><span>`CallableWhenAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.CallbackAttr" class="def variant constructor anchored"><a href="#type-attribute.CallbackAttr" class="anchor"></a><code><span>| </span><span>`CallbackAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.CapabilityAttr" class="def variant constructor anchored"><a href="#type-attribute.CapabilityAttr" class="anchor"></a><code><span>| </span><span>`CapabilityAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.CapturedRecordAttr" class="def variant constructor anchored"><a href="#type-attribute.CapturedRecordAttr" class="anchor"></a><code><span>| </span><span>`CapturedRecordAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.CleanupAttr" class="def variant constructor anchored"><a href="#type-attribute.CleanupAttr" class="anchor"></a><code><span>| </span><span>`CleanupAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.CmseNSEntryAttr" class="def variant constructor anchored"><a href="#type-attribute.CmseNSEntryAttr" class="anchor"></a><code><span>| </span><span>`CmseNSEntryAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.CodeModelAttr" class="def variant constructor anchored"><a href="#type-attribute.CodeModelAttr" class="anchor"></a><code><span>| </span><span>`CodeModelAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.CodeSegAttr" class="def variant constructor anchored"><a href="#type-attribute.CodeSegAttr" class="anchor"></a><code><span>| </span><span>`CodeSegAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.ColdAttr" class="def variant constructor anchored"><a href="#type-attribute.ColdAttr" class="anchor"></a><code><span>| </span><span>`ColdAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.CommonAttr" class="def variant constructor anchored"><a href="#type-attribute.CommonAttr" class="anchor"></a><code><span>| </span><span>`CommonAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.ConstAttr" class="def variant constructor anchored"><a href="#type-attribute.ConstAttr" class="anchor"></a><code><span>| </span><span>`ConstAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.ConstInitAttr" class="def variant constructor anchored"><a href="#type-attribute.ConstInitAttr" class="anchor"></a><code><span>| </span><span>`ConstInitAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.ConstructorAttr" class="def variant constructor anchored"><a href="#type-attribute.ConstructorAttr" class="anchor"></a><code><span>| </span><span>`ConstructorAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.ConsumableAttr" class="def variant constructor anchored"><a href="#type-attribute.ConsumableAttr" class="anchor"></a><code><span>| </span><span>`ConsumableAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.ConsumableAutoCastAttr" class="def variant constructor anchored"><a href="#type-attribute.ConsumableAutoCastAttr" class="anchor"></a><code><span>| </span><span>`ConsumableAutoCastAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.ConsumableSetOnReadAttr" class="def variant constructor anchored"><a href="#type-attribute.ConsumableSetOnReadAttr" class="anchor"></a><code><span>| </span><span>`ConsumableSetOnReadAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.ConvergentAttr" class="def variant constructor anchored"><a href="#type-attribute.ConvergentAttr" class="anchor"></a><code><span>| </span><span>`ConvergentAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.CoroDisableLifetimeBoundAttr" class="def variant constructor anchored"><a href="#type-attribute.CoroDisableLifetimeBoundAttr" class="anchor"></a><code><span>| </span><span>`CoroDisableLifetimeBoundAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.CoroLifetimeBoundAttr" class="def variant constructor anchored"><a href="#type-attribute.CoroLifetimeBoundAttr" class="anchor"></a><code><span>| </span><span>`CoroLifetimeBoundAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.CoroOnlyDestroyWhenCompleteAttr" class="def variant constructor anchored"><a href="#type-attribute.CoroOnlyDestroyWhenCompleteAttr" class="anchor"></a><code><span>| </span><span>`CoroOnlyDestroyWhenCompleteAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.CoroReturnTypeAttr" class="def variant constructor anchored"><a href="#type-attribute.CoroReturnTypeAttr" class="anchor"></a><code><span>| </span><span>`CoroReturnTypeAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.CoroWrapperAttr" class="def variant constructor anchored"><a href="#type-attribute.CoroWrapperAttr" class="anchor"></a><code><span>| </span><span>`CoroWrapperAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.CountedByAttr" class="def variant constructor anchored"><a href="#type-attribute.CountedByAttr" class="anchor"></a><code><span>| </span><span>`CountedByAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.DLLExportAttr" class="def variant constructor anchored"><a href="#type-attribute.DLLExportAttr" class="anchor"></a><code><span>| </span><span>`DLLExportAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.DLLExportStaticLocalAttr" class="def variant constructor anchored"><a href="#type-attribute.DLLExportStaticLocalAttr" class="anchor"></a><code><span>| </span><span>`DLLExportStaticLocalAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.DLLImportAttr" class="def variant constructor anchored"><a href="#type-attribute.DLLImportAttr" class="anchor"></a><code><span>| </span><span>`DLLImportAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.DLLImportStaticLocalAttr" class="def variant constructor anchored"><a href="#type-attribute.DLLImportStaticLocalAttr" class="anchor"></a><code><span>| </span><span>`DLLImportStaticLocalAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.DeprecatedAttr" class="def variant constructor anchored"><a href="#type-attribute.DeprecatedAttr" class="anchor"></a><code><span>| </span><span>`DeprecatedAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.DestructorAttr" class="def variant constructor anchored"><a href="#type-attribute.DestructorAttr" class="anchor"></a><code><span>| </span><span>`DestructorAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.DiagnoseAsBuiltinAttr" class="def variant constructor anchored"><a href="#type-attribute.DiagnoseAsBuiltinAttr" class="anchor"></a><code><span>| </span><span>`DiagnoseAsBuiltinAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.DiagnoseIfAttr" class="def variant constructor anchored"><a href="#type-attribute.DiagnoseIfAttr" class="anchor"></a><code><span>| </span><span>`DiagnoseIfAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.DisableSanitizerInstrumentationAttr" class="def variant constructor anchored"><a href="#type-attribute.DisableSanitizerInstrumentationAttr" class="anchor"></a><code><span>| </span><span>`DisableSanitizerInstrumentationAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.DisableTailCallsAttr" class="def variant constructor anchored"><a href="#type-attribute.DisableTailCallsAttr" class="anchor"></a><code><span>| </span><span>`DisableTailCallsAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.EmptyBasesAttr" class="def variant constructor anchored"><a href="#type-attribute.EmptyBasesAttr" class="anchor"></a><code><span>| </span><span>`EmptyBasesAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.EnableIfAttr" class="def variant constructor anchored"><a href="#type-attribute.EnableIfAttr" class="anchor"></a><code><span>| </span><span>`EnableIfAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.EnforceTCBAttr" class="def variant constructor anchored"><a href="#type-attribute.EnforceTCBAttr" class="anchor"></a><code><span>| </span><span>`EnforceTCBAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.EnforceTCBLeafAttr" class="def variant constructor anchored"><a href="#type-attribute.EnforceTCBLeafAttr" class="anchor"></a><code><span>| </span><span>`EnforceTCBLeafAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.EnumExtensibilityAttr" class="def variant constructor anchored"><a href="#type-attribute.EnumExtensibilityAttr" class="anchor"></a><code><span>| </span><span>`EnumExtensibilityAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.ErrorAttr" class="def variant constructor anchored"><a href="#type-attribute.ErrorAttr" class="anchor"></a><code><span>| </span><span>`ErrorAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.ExcludeFromExplicitInstantiationAttr" class="def variant constructor anchored"><a href="#type-attribute.ExcludeFromExplicitInstantiationAttr" class="anchor"></a><code><span>| </span><span>`ExcludeFromExplicitInstantiationAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.ExclusiveTrylockFunctionAttr" class="def variant constructor anchored"><a href="#type-attribute.ExclusiveTrylockFunctionAttr" class="anchor"></a><code><span>| </span><span>`ExclusiveTrylockFunctionAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.ExternalSourceSymbolAttr" class="def variant constructor anchored"><a href="#type-attribute.ExternalSourceSymbolAttr" class="anchor"></a><code><span>| </span><span>`ExternalSourceSymbolAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.FinalAttr" class="def variant constructor anchored"><a href="#type-attribute.FinalAttr" class="anchor"></a><code><span>| </span><span>`FinalAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.FlagEnumAttr" class="def variant constructor anchored"><a href="#type-attribute.FlagEnumAttr" class="anchor"></a><code><span>| </span><span>`FlagEnumAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.FlattenAttr" class="def variant constructor anchored"><a href="#type-attribute.FlattenAttr" class="anchor"></a><code><span>| </span><span>`FlattenAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.FormatAttr" class="def variant constructor anchored"><a href="#type-attribute.FormatAttr" class="anchor"></a><code><span>| </span><span>`FormatAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.FormatArgAttr" class="def variant constructor anchored"><a href="#type-attribute.FormatArgAttr" class="anchor"></a><code><span>| </span><span>`FormatArgAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.FunctionReturnThunksAttr" class="def variant constructor anchored"><a href="#type-attribute.FunctionReturnThunksAttr" class="anchor"></a><code><span>| </span><span>`FunctionReturnThunksAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.GNUInlineAttr" class="def variant constructor anchored"><a href="#type-attribute.GNUInlineAttr" class="anchor"></a><code><span>| </span><span>`GNUInlineAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.GuardedByAttr" class="def variant constructor anchored"><a href="#type-attribute.GuardedByAttr" class="anchor"></a><code><span>| </span><span>`GuardedByAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.GuardedVarAttr" class="def variant constructor anchored"><a href="#type-attribute.GuardedVarAttr" class="anchor"></a><code><span>| </span><span>`GuardedVarAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.HIPManagedAttr" class="def variant constructor anchored"><a href="#type-attribute.HIPManagedAttr" class="anchor"></a><code><span>| </span><span>`HIPManagedAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.HLSLNumThreadsAttr" class="def variant constructor anchored"><a href="#type-attribute.HLSLNumThreadsAttr" class="anchor"></a><code><span>| </span><span>`HLSLNumThreadsAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.HLSLResourceAttr" class="def variant constructor anchored"><a href="#type-attribute.HLSLResourceAttr" class="anchor"></a><code><span>| </span><span>`HLSLResourceAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.HLSLResourceBindingAttr" class="def variant constructor anchored"><a href="#type-attribute.HLSLResourceBindingAttr" class="anchor"></a><code><span>| </span><span>`HLSLResourceBindingAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.HLSLShaderAttr" class="def variant constructor anchored"><a href="#type-attribute.HLSLShaderAttr" class="anchor"></a><code><span>| </span><span>`HLSLShaderAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.HotAttr" class="def variant constructor anchored"><a href="#type-attribute.HotAttr" class="anchor"></a><code><span>| </span><span>`HotAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.IBActionAttr" class="def variant constructor anchored"><a href="#type-attribute.IBActionAttr" class="anchor"></a><code><span>| </span><span>`IBActionAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.IBOutletAttr" class="def variant constructor anchored"><a href="#type-attribute.IBOutletAttr" class="anchor"></a><code><span>| </span><span>`IBOutletAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.IBOutletCollectionAttr" class="def variant constructor anchored"><a href="#type-attribute.IBOutletCollectionAttr" class="anchor"></a><code><span>| </span><span>`IBOutletCollectionAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.InitPriorityAttr" class="def variant constructor anchored"><a href="#type-attribute.InitPriorityAttr" class="anchor"></a><code><span>| </span><span>`InitPriorityAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.InternalLinkageAttr" class="def variant constructor anchored"><a href="#type-attribute.InternalLinkageAttr" class="anchor"></a><code><span>| </span><span>`InternalLinkageAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.LTOVisibilityPublicAttr" class="def variant constructor anchored"><a href="#type-attribute.LTOVisibilityPublicAttr" class="anchor"></a><code><span>| </span><span>`LTOVisibilityPublicAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.LayoutVersionAttr" class="def variant constructor anchored"><a href="#type-attribute.LayoutVersionAttr" class="anchor"></a><code><span>| </span><span>`LayoutVersionAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.LeafAttr" class="def variant constructor anchored"><a href="#type-attribute.LeafAttr" class="anchor"></a><code><span>| </span><span>`LeafAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.LockReturnedAttr" class="def variant constructor anchored"><a href="#type-attribute.LockReturnedAttr" class="anchor"></a><code><span>| </span><span>`LockReturnedAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.LocksExcludedAttr" class="def variant constructor anchored"><a href="#type-attribute.LocksExcludedAttr" class="anchor"></a><code><span>| </span><span>`LocksExcludedAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.M68kInterruptAttr" class="def variant constructor anchored"><a href="#type-attribute.M68kInterruptAttr" class="anchor"></a><code><span>| </span><span>`M68kInterruptAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.MIGServerRoutineAttr" class="def variant constructor anchored"><a href="#type-attribute.MIGServerRoutineAttr" class="anchor"></a><code><span>| </span><span>`MIGServerRoutineAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.MSAllocatorAttr" class="def variant constructor anchored"><a href="#type-attribute.MSAllocatorAttr" class="anchor"></a><code><span>| </span><span>`MSAllocatorAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.MSConstexprAttr" class="def variant constructor anchored"><a href="#type-attribute.MSConstexprAttr" class="anchor"></a><code><span>| </span><span>`MSConstexprAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.MSInheritanceAttr" class="def variant constructor anchored"><a href="#type-attribute.MSInheritanceAttr" class="anchor"></a><code><span>| </span><span>`MSInheritanceAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.MSNoVTableAttr" class="def variant constructor anchored"><a href="#type-attribute.MSNoVTableAttr" class="anchor"></a><code><span>| </span><span>`MSNoVTableAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.MSP430InterruptAttr" class="def variant constructor anchored"><a href="#type-attribute.MSP430InterruptAttr" class="anchor"></a><code><span>| </span><span>`MSP430InterruptAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.MSStructAttr" class="def variant constructor anchored"><a href="#type-attribute.MSStructAttr" class="anchor"></a><code><span>| </span><span>`MSStructAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.MSVtorDispAttr" class="def variant constructor anchored"><a href="#type-attribute.MSVtorDispAttr" class="anchor"></a><code><span>| </span><span>`MSVtorDispAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.MaxFieldAlignmentAttr" class="def variant constructor anchored"><a href="#type-attribute.MaxFieldAlignmentAttr" class="anchor"></a><code><span>| </span><span>`MaxFieldAlignmentAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.MayAliasAttr" class="def variant constructor anchored"><a href="#type-attribute.MayAliasAttr" class="anchor"></a><code><span>| </span><span>`MayAliasAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.MaybeUndefAttr" class="def variant constructor anchored"><a href="#type-attribute.MaybeUndefAttr" class="anchor"></a><code><span>| </span><span>`MaybeUndefAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.MicroMipsAttr" class="def variant constructor anchored"><a href="#type-attribute.MicroMipsAttr" class="anchor"></a><code><span>| </span><span>`MicroMipsAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.MinSizeAttr" class="def variant constructor anchored"><a href="#type-attribute.MinSizeAttr" class="anchor"></a><code><span>| </span><span>`MinSizeAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.MinVectorWidthAttr" class="def variant constructor anchored"><a href="#type-attribute.MinVectorWidthAttr" class="anchor"></a><code><span>| </span><span>`MinVectorWidthAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.Mips16Attr" class="def variant constructor anchored"><a href="#type-attribute.Mips16Attr" class="anchor"></a><code><span>| </span><span>`Mips16Attr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.MipsInterruptAttr" class="def variant constructor anchored"><a href="#type-attribute.MipsInterruptAttr" class="anchor"></a><code><span>| </span><span>`MipsInterruptAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.MipsLongCallAttr" class="def variant constructor anchored"><a href="#type-attribute.MipsLongCallAttr" class="anchor"></a><code><span>| </span><span>`MipsLongCallAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.MipsShortCallAttr" class="def variant constructor anchored"><a href="#type-attribute.MipsShortCallAttr" class="anchor"></a><code><span>| </span><span>`MipsShortCallAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.NSConsumesSelfAttr" class="def variant constructor anchored"><a href="#type-attribute.NSConsumesSelfAttr" class="anchor"></a><code><span>| </span><span>`NSConsumesSelfAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.NSErrorDomainAttr" class="def variant constructor anchored"><a href="#type-attribute.NSErrorDomainAttr" class="anchor"></a><code><span>| </span><span>`NSErrorDomainAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.NSReturnsAutoreleasedAttr" class="def variant constructor anchored"><a href="#type-attribute.NSReturnsAutoreleasedAttr" class="anchor"></a><code><span>| </span><span>`NSReturnsAutoreleasedAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.NSReturnsNotRetainedAttr" class="def variant constructor anchored"><a href="#type-attribute.NSReturnsNotRetainedAttr" class="anchor"></a><code><span>| </span><span>`NSReturnsNotRetainedAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.NVPTXKernelAttr" class="def variant constructor anchored"><a href="#type-attribute.NVPTXKernelAttr" class="anchor"></a><code><span>| </span><span>`NVPTXKernelAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.NakedAttr" class="def variant constructor anchored"><a href="#type-attribute.NakedAttr" class="anchor"></a><code><span>| </span><span>`NakedAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.NoAliasAttr" class="def variant constructor anchored"><a href="#type-attribute.NoAliasAttr" class="anchor"></a><code><span>| </span><span>`NoAliasAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.NoCommonAttr" class="def variant constructor anchored"><a href="#type-attribute.NoCommonAttr" class="anchor"></a><code><span>| </span><span>`NoCommonAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.NoDebugAttr" class="def variant constructor anchored"><a href="#type-attribute.NoDebugAttr" class="anchor"></a><code><span>| </span><span>`NoDebugAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.NoDestroyAttr" class="def variant constructor anchored"><a href="#type-attribute.NoDestroyAttr" class="anchor"></a><code><span>| </span><span>`NoDestroyAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.NoDuplicateAttr" class="def variant constructor anchored"><a href="#type-attribute.NoDuplicateAttr" class="anchor"></a><code><span>| </span><span>`NoDuplicateAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.NoInstrumentFunctionAttr" class="def variant constructor anchored"><a href="#type-attribute.NoInstrumentFunctionAttr" class="anchor"></a><code><span>| </span><span>`NoInstrumentFunctionAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.NoMicroMipsAttr" class="def variant constructor anchored"><a href="#type-attribute.NoMicroMipsAttr" class="anchor"></a><code><span>| </span><span>`NoMicroMipsAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.NoMips16Attr" class="def variant constructor anchored"><a href="#type-attribute.NoMips16Attr" class="anchor"></a><code><span>| </span><span>`NoMips16Attr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.NoProfileFunctionAttr" class="def variant constructor anchored"><a href="#type-attribute.NoProfileFunctionAttr" class="anchor"></a><code><span>| </span><span>`NoProfileFunctionAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.NoRandomizeLayoutAttr" class="def variant constructor anchored"><a href="#type-attribute.NoRandomizeLayoutAttr" class="anchor"></a><code><span>| </span><span>`NoRandomizeLayoutAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.NoReturnAttr" class="def variant constructor anchored"><a href="#type-attribute.NoReturnAttr" class="anchor"></a><code><span>| </span><span>`NoReturnAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.NoSanitizeAttr" class="def variant constructor anchored"><a href="#type-attribute.NoSanitizeAttr" class="anchor"></a><code><span>| </span><span>`NoSanitizeAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.NoSpeculativeLoadHardeningAttr" class="def variant constructor anchored"><a href="#type-attribute.NoSpeculativeLoadHardeningAttr" class="anchor"></a><code><span>| </span><span>`NoSpeculativeLoadHardeningAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.NoSplitStackAttr" class="def variant constructor anchored"><a href="#type-attribute.NoSplitStackAttr" class="anchor"></a><code><span>| </span><span>`NoSplitStackAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.NoStackProtectorAttr" class="def variant constructor anchored"><a href="#type-attribute.NoStackProtectorAttr" class="anchor"></a><code><span>| </span><span>`NoStackProtectorAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.NoThreadSafetyAnalysisAttr" class="def variant constructor anchored"><a href="#type-attribute.NoThreadSafetyAnalysisAttr" class="anchor"></a><code><span>| </span><span>`NoThreadSafetyAnalysisAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.NoThrowAttr" class="def variant constructor anchored"><a href="#type-attribute.NoThrowAttr" class="anchor"></a><code><span>| </span><span>`NoThrowAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.NoUniqueAddressAttr" class="def variant constructor anchored"><a href="#type-attribute.NoUniqueAddressAttr" class="anchor"></a><code><span>| </span><span>`NoUniqueAddressAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.NoUwtableAttr" class="def variant constructor anchored"><a href="#type-attribute.NoUwtableAttr" class="anchor"></a><code><span>| </span><span>`NoUwtableAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.NotTailCalledAttr" class="def variant constructor anchored"><a href="#type-attribute.NotTailCalledAttr" class="anchor"></a><code><span>| </span><span>`NotTailCalledAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.OMPAllocateDeclAttr" class="def variant constructor anchored"><a href="#type-attribute.OMPAllocateDeclAttr" class="anchor"></a><code><span>| </span><span>`OMPAllocateDeclAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.OMPCaptureNoInitAttr" class="def variant constructor anchored"><a href="#type-attribute.OMPCaptureNoInitAttr" class="anchor"></a><code><span>| </span><span>`OMPCaptureNoInitAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.OMPDeclareTargetDeclAttr" class="def variant constructor anchored"><a href="#type-attribute.OMPDeclareTargetDeclAttr" class="anchor"></a><code><span>| </span><span>`OMPDeclareTargetDeclAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.OMPDeclareVariantAttr" class="def variant constructor anchored"><a href="#type-attribute.OMPDeclareVariantAttr" class="anchor"></a><code><span>| </span><span>`OMPDeclareVariantAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.OMPThreadPrivateDeclAttr" class="def variant constructor anchored"><a href="#type-attribute.OMPThreadPrivateDeclAttr" class="anchor"></a><code><span>| </span><span>`OMPThreadPrivateDeclAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.OSConsumesThisAttr" class="def variant constructor anchored"><a href="#type-attribute.OSConsumesThisAttr" class="anchor"></a><code><span>| </span><span>`OSConsumesThisAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.OSReturnsNotRetainedAttr" class="def variant constructor anchored"><a href="#type-attribute.OSReturnsNotRetainedAttr" class="anchor"></a><code><span>| </span><span>`OSReturnsNotRetainedAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.OSReturnsRetainedAttr" class="def variant constructor anchored"><a href="#type-attribute.OSReturnsRetainedAttr" class="anchor"></a><code><span>| </span><span>`OSReturnsRetainedAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.OSReturnsRetainedOnNonZeroAttr" class="def variant constructor anchored"><a href="#type-attribute.OSReturnsRetainedOnNonZeroAttr" class="anchor"></a><code><span>| </span><span>`OSReturnsRetainedOnNonZeroAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.OSReturnsRetainedOnZeroAttr" class="def variant constructor anchored"><a href="#type-attribute.OSReturnsRetainedOnZeroAttr" class="anchor"></a><code><span>| </span><span>`OSReturnsRetainedOnZeroAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.ObjCBridgeAttr" class="def variant constructor anchored"><a href="#type-attribute.ObjCBridgeAttr" class="anchor"></a><code><span>| </span><span>`ObjCBridgeAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.ObjCBridgeMutableAttr" class="def variant constructor anchored"><a href="#type-attribute.ObjCBridgeMutableAttr" class="anchor"></a><code><span>| </span><span>`ObjCBridgeMutableAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.ObjCBridgeRelatedAttr" class="def variant constructor anchored"><a href="#type-attribute.ObjCBridgeRelatedAttr" class="anchor"></a><code><span>| </span><span>`ObjCBridgeRelatedAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.ObjCExceptionAttr" class="def variant constructor anchored"><a href="#type-attribute.ObjCExceptionAttr" class="anchor"></a><code><span>| </span><span>`ObjCExceptionAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.ObjCExplicitProtocolImplAttr" class="def variant constructor anchored"><a href="#type-attribute.ObjCExplicitProtocolImplAttr" class="anchor"></a><code><span>| </span><span>`ObjCExplicitProtocolImplAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.ObjCExternallyRetainedAttr" class="def variant constructor anchored"><a href="#type-attribute.ObjCExternallyRetainedAttr" class="anchor"></a><code><span>| </span><span>`ObjCExternallyRetainedAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.ObjCIndependentClassAttr" class="def variant constructor anchored"><a href="#type-attribute.ObjCIndependentClassAttr" class="anchor"></a><code><span>| </span><span>`ObjCIndependentClassAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.ObjCMethodFamilyAttr" class="def variant constructor anchored"><a href="#type-attribute.ObjCMethodFamilyAttr" class="anchor"></a><code><span>| </span><span>`ObjCMethodFamilyAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.ObjCNSObjectAttr" class="def variant constructor anchored"><a href="#type-attribute.ObjCNSObjectAttr" class="anchor"></a><code><span>| </span><span>`ObjCNSObjectAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.ObjCPreciseLifetimeAttr" class="def variant constructor anchored"><a href="#type-attribute.ObjCPreciseLifetimeAttr" class="anchor"></a><code><span>| </span><span>`ObjCPreciseLifetimeAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.ObjCRequiresPropertyDefsAttr" class="def variant constructor anchored"><a href="#type-attribute.ObjCRequiresPropertyDefsAttr" class="anchor"></a><code><span>| </span><span>`ObjCRequiresPropertyDefsAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.ObjCRequiresSuperAttr" class="def variant constructor anchored"><a href="#type-attribute.ObjCRequiresSuperAttr" class="anchor"></a><code><span>| </span><span>`ObjCRequiresSuperAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.ObjCReturnsInnerPointerAttr" class="def variant constructor anchored"><a href="#type-attribute.ObjCReturnsInnerPointerAttr" class="anchor"></a><code><span>| </span><span>`ObjCReturnsInnerPointerAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.ObjCRootClassAttr" class="def variant constructor anchored"><a href="#type-attribute.ObjCRootClassAttr" class="anchor"></a><code><span>| </span><span>`ObjCRootClassAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.ObjCSubclassingRestrictedAttr" class="def variant constructor anchored"><a href="#type-attribute.ObjCSubclassingRestrictedAttr" class="anchor"></a><code><span>| </span><span>`ObjCSubclassingRestrictedAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.OpenCLIntelReqdSubGroupSizeAttr" class="def variant constructor anchored"><a href="#type-attribute.OpenCLIntelReqdSubGroupSizeAttr" class="anchor"></a><code><span>| </span><span>`OpenCLIntelReqdSubGroupSizeAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.OpenCLKernelAttr" class="def variant constructor anchored"><a href="#type-attribute.OpenCLKernelAttr" class="anchor"></a><code><span>| </span><span>`OpenCLKernelAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.OptimizeNoneAttr" class="def variant constructor anchored"><a href="#type-attribute.OptimizeNoneAttr" class="anchor"></a><code><span>| </span><span>`OptimizeNoneAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.OverrideAttr" class="def variant constructor anchored"><a href="#type-attribute.OverrideAttr" class="anchor"></a><code><span>| </span><span>`OverrideAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.OwnerAttr" class="def variant constructor anchored"><a href="#type-attribute.OwnerAttr" class="anchor"></a><code><span>| </span><span>`OwnerAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.OwnershipAttr" class="def variant constructor anchored"><a href="#type-attribute.OwnershipAttr" class="anchor"></a><code><span>| </span><span>`OwnershipAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.PackedAttr" class="def variant constructor anchored"><a href="#type-attribute.PackedAttr" class="anchor"></a><code><span>| </span><span>`PackedAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.ParamTypestateAttr" class="def variant constructor anchored"><a href="#type-attribute.ParamTypestateAttr" class="anchor"></a><code><span>| </span><span>`ParamTypestateAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.PatchableFunctionEntryAttr" class="def variant constructor anchored"><a href="#type-attribute.PatchableFunctionEntryAttr" class="anchor"></a><code><span>| </span><span>`PatchableFunctionEntryAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.PointerAttr" class="def variant constructor anchored"><a href="#type-attribute.PointerAttr" class="anchor"></a><code><span>| </span><span>`PointerAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.PragmaClangBSSSectionAttr" class="def variant constructor anchored"><a href="#type-attribute.PragmaClangBSSSectionAttr" class="anchor"></a><code><span>| </span><span>`PragmaClangBSSSectionAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.PragmaClangDataSectionAttr" class="def variant constructor anchored"><a href="#type-attribute.PragmaClangDataSectionAttr" class="anchor"></a><code><span>| </span><span>`PragmaClangDataSectionAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.PragmaClangRelroSectionAttr" class="def variant constructor anchored"><a href="#type-attribute.PragmaClangRelroSectionAttr" class="anchor"></a><code><span>| </span><span>`PragmaClangRelroSectionAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.PragmaClangRodataSectionAttr" class="def variant constructor anchored"><a href="#type-attribute.PragmaClangRodataSectionAttr" class="anchor"></a><code><span>| </span><span>`PragmaClangRodataSectionAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.PragmaClangTextSectionAttr" class="def variant constructor anchored"><a href="#type-attribute.PragmaClangTextSectionAttr" class="anchor"></a><code><span>| </span><span>`PragmaClangTextSectionAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.PreferredNameAttr" class="def variant constructor anchored"><a href="#type-attribute.PreferredNameAttr" class="anchor"></a><code><span>| </span><span>`PreferredNameAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.PreferredTypeAttr" class="def variant constructor anchored"><a href="#type-attribute.PreferredTypeAttr" class="anchor"></a><code><span>| </span><span>`PreferredTypeAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.PtGuardedByAttr" class="def variant constructor anchored"><a href="#type-attribute.PtGuardedByAttr" class="anchor"></a><code><span>| </span><span>`PtGuardedByAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.PtGuardedVarAttr" class="def variant constructor anchored"><a href="#type-attribute.PtGuardedVarAttr" class="anchor"></a><code><span>| </span><span>`PtGuardedVarAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.PureAttr" class="def variant constructor anchored"><a href="#type-attribute.PureAttr" class="anchor"></a><code><span>| </span><span>`PureAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.RISCVInterruptAttr" class="def variant constructor anchored"><a href="#type-attribute.RISCVInterruptAttr" class="anchor"></a><code><span>| </span><span>`RISCVInterruptAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.RandomizeLayoutAttr" class="def variant constructor anchored"><a href="#type-attribute.RandomizeLayoutAttr" class="anchor"></a><code><span>| </span><span>`RandomizeLayoutAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.ReadOnlyPlacementAttr" class="def variant constructor anchored"><a href="#type-attribute.ReadOnlyPlacementAttr" class="anchor"></a><code><span>| </span><span>`ReadOnlyPlacementAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.ReinitializesAttr" class="def variant constructor anchored"><a href="#type-attribute.ReinitializesAttr" class="anchor"></a><code><span>| </span><span>`ReinitializesAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.ReleaseCapabilityAttr" class="def variant constructor anchored"><a href="#type-attribute.ReleaseCapabilityAttr" class="anchor"></a><code><span>| </span><span>`ReleaseCapabilityAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.ReqdWorkGroupSizeAttr" class="def variant constructor anchored"><a href="#type-attribute.ReqdWorkGroupSizeAttr" class="anchor"></a><code><span>| </span><span>`ReqdWorkGroupSizeAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.RequiresCapabilityAttr" class="def variant constructor anchored"><a href="#type-attribute.RequiresCapabilityAttr" class="anchor"></a><code><span>| </span><span>`RequiresCapabilityAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.RestrictAttr" class="def variant constructor anchored"><a href="#type-attribute.RestrictAttr" class="anchor"></a><code><span>| </span><span>`RestrictAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.RetainAttr" class="def variant constructor anchored"><a href="#type-attribute.RetainAttr" class="anchor"></a><code><span>| </span><span>`RetainAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.ReturnTypestateAttr" class="def variant constructor anchored"><a href="#type-attribute.ReturnTypestateAttr" class="anchor"></a><code><span>| </span><span>`ReturnTypestateAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.ReturnsNonNullAttr" class="def variant constructor anchored"><a href="#type-attribute.ReturnsNonNullAttr" class="anchor"></a><code><span>| </span><span>`ReturnsNonNullAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.ReturnsTwiceAttr" class="def variant constructor anchored"><a href="#type-attribute.ReturnsTwiceAttr" class="anchor"></a><code><span>| </span><span>`ReturnsTwiceAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.SYCLKernelAttr" class="def variant constructor anchored"><a href="#type-attribute.SYCLKernelAttr" class="anchor"></a><code><span>| </span><span>`SYCLKernelAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.SYCLSpecialClassAttr" class="def variant constructor anchored"><a href="#type-attribute.SYCLSpecialClassAttr" class="anchor"></a><code><span>| </span><span>`SYCLSpecialClassAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.ScopedLockableAttr" class="def variant constructor anchored"><a href="#type-attribute.ScopedLockableAttr" class="anchor"></a><code><span>| </span><span>`ScopedLockableAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.SectionAttr" class="def variant constructor anchored"><a href="#type-attribute.SectionAttr" class="anchor"></a><code><span>| </span><span>`SectionAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.SelectAnyAttr" class="def variant constructor anchored"><a href="#type-attribute.SelectAnyAttr" class="anchor"></a><code><span>| </span><span>`SelectAnyAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.SentinelAttr" class="def variant constructor anchored"><a href="#type-attribute.SentinelAttr" class="anchor"></a><code><span>| </span><span>`SentinelAttr <span class="keyword">of</span> <a href="#type-attr_tuple">attr_tuple</a> * <a href="#type-sentinel_attr_info">sentinel_attr_info</a></span></code></li><li id="type-attribute.SetTypestateAttr" class="def variant constructor anchored"><a href="#type-attribute.SetTypestateAttr" class="anchor"></a><code><span>| </span><span>`SetTypestateAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.SharedTrylockFunctionAttr" class="def variant constructor anchored"><a href="#type-attribute.SharedTrylockFunctionAttr" class="anchor"></a><code><span>| </span><span>`SharedTrylockFunctionAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.SpeculativeLoadHardeningAttr" class="def variant constructor anchored"><a href="#type-attribute.SpeculativeLoadHardeningAttr" class="anchor"></a><code><span>| </span><span>`SpeculativeLoadHardeningAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.StandaloneDebugAttr" class="def variant constructor anchored"><a href="#type-attribute.StandaloneDebugAttr" class="anchor"></a><code><span>| </span><span>`StandaloneDebugAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.StrictFPAttr" class="def variant constructor anchored"><a href="#type-attribute.StrictFPAttr" class="anchor"></a><code><span>| </span><span>`StrictFPAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.StrictGuardStackCheckAttr" class="def variant constructor anchored"><a href="#type-attribute.StrictGuardStackCheckAttr" class="anchor"></a><code><span>| </span><span>`StrictGuardStackCheckAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.SwiftAsyncAttr" class="def variant constructor anchored"><a href="#type-attribute.SwiftAsyncAttr" class="anchor"></a><code><span>| </span><span>`SwiftAsyncAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.SwiftAsyncErrorAttr" class="def variant constructor anchored"><a href="#type-attribute.SwiftAsyncErrorAttr" class="anchor"></a><code><span>| </span><span>`SwiftAsyncErrorAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.SwiftAsyncNameAttr" class="def variant constructor anchored"><a href="#type-attribute.SwiftAsyncNameAttr" class="anchor"></a><code><span>| </span><span>`SwiftAsyncNameAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.SwiftAttrAttr" class="def variant constructor anchored"><a href="#type-attribute.SwiftAttrAttr" class="anchor"></a><code><span>| </span><span>`SwiftAttrAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.SwiftBridgeAttr" class="def variant constructor anchored"><a href="#type-attribute.SwiftBridgeAttr" class="anchor"></a><code><span>| </span><span>`SwiftBridgeAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.SwiftBridgedTypedefAttr" class="def variant constructor anchored"><a href="#type-attribute.SwiftBridgedTypedefAttr" class="anchor"></a><code><span>| </span><span>`SwiftBridgedTypedefAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.SwiftErrorAttr" class="def variant constructor anchored"><a href="#type-attribute.SwiftErrorAttr" class="anchor"></a><code><span>| </span><span>`SwiftErrorAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.SwiftImportAsNonGenericAttr" class="def variant constructor anchored"><a href="#type-attribute.SwiftImportAsNonGenericAttr" class="anchor"></a><code><span>| </span><span>`SwiftImportAsNonGenericAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.SwiftImportPropertyAsAccessorsAttr" class="def variant constructor anchored"><a href="#type-attribute.SwiftImportPropertyAsAccessorsAttr" class="anchor"></a><code><span>| </span><span>`SwiftImportPropertyAsAccessorsAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.SwiftNameAttr" class="def variant constructor anchored"><a href="#type-attribute.SwiftNameAttr" class="anchor"></a><code><span>| </span><span>`SwiftNameAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.SwiftNewTypeAttr" class="def variant constructor anchored"><a href="#type-attribute.SwiftNewTypeAttr" class="anchor"></a><code><span>| </span><span>`SwiftNewTypeAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.SwiftPrivateAttr" class="def variant constructor anchored"><a href="#type-attribute.SwiftPrivateAttr" class="anchor"></a><code><span>| </span><span>`SwiftPrivateAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.TLSModelAttr" class="def variant constructor anchored"><a href="#type-attribute.TLSModelAttr" class="anchor"></a><code><span>| </span><span>`TLSModelAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.TargetAttr" class="def variant constructor anchored"><a href="#type-attribute.TargetAttr" class="anchor"></a><code><span>| </span><span>`TargetAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.TargetClonesAttr" class="def variant constructor anchored"><a href="#type-attribute.TargetClonesAttr" class="anchor"></a><code><span>| </span><span>`TargetClonesAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.TargetVersionAttr" class="def variant constructor anchored"><a href="#type-attribute.TargetVersionAttr" class="anchor"></a><code><span>| </span><span>`TargetVersionAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.TestTypestateAttr" class="def variant constructor anchored"><a href="#type-attribute.TestTypestateAttr" class="anchor"></a><code><span>| </span><span>`TestTypestateAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.TransparentUnionAttr" class="def variant constructor anchored"><a href="#type-attribute.TransparentUnionAttr" class="anchor"></a><code><span>| </span><span>`TransparentUnionAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.TrivialABIAttr" class="def variant constructor anchored"><a href="#type-attribute.TrivialABIAttr" class="anchor"></a><code><span>| </span><span>`TrivialABIAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.TryAcquireCapabilityAttr" class="def variant constructor anchored"><a href="#type-attribute.TryAcquireCapabilityAttr" class="anchor"></a><code><span>| </span><span>`TryAcquireCapabilityAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.TypeTagForDatatypeAttr" class="def variant constructor anchored"><a href="#type-attribute.TypeTagForDatatypeAttr" class="anchor"></a><code><span>| </span><span>`TypeTagForDatatypeAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.TypeVisibilityAttr" class="def variant constructor anchored"><a href="#type-attribute.TypeVisibilityAttr" class="anchor"></a><code><span>| </span><span>`TypeVisibilityAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.UnavailableAttr" class="def variant constructor anchored"><a href="#type-attribute.UnavailableAttr" class="anchor"></a><code><span>| </span><span>`UnavailableAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.UninitializedAttr" class="def variant constructor anchored"><a href="#type-attribute.UninitializedAttr" class="anchor"></a><code><span>| </span><span>`UninitializedAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.UnsafeBufferUsageAttr" class="def variant constructor anchored"><a href="#type-attribute.UnsafeBufferUsageAttr" class="anchor"></a><code><span>| </span><span>`UnsafeBufferUsageAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.UnusedAttr" class="def variant constructor anchored"><a href="#type-attribute.UnusedAttr" class="anchor"></a><code><span>| </span><span>`UnusedAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.UsedAttr" class="def variant constructor anchored"><a href="#type-attribute.UsedAttr" class="anchor"></a><code><span>| </span><span>`UsedAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.UsingIfExistsAttr" class="def variant constructor anchored"><a href="#type-attribute.UsingIfExistsAttr" class="anchor"></a><code><span>| </span><span>`UsingIfExistsAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.UuidAttr" class="def variant constructor anchored"><a href="#type-attribute.UuidAttr" class="anchor"></a><code><span>| </span><span>`UuidAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.VecReturnAttr" class="def variant constructor anchored"><a href="#type-attribute.VecReturnAttr" class="anchor"></a><code><span>| </span><span>`VecReturnAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.VecTypeHintAttr" class="def variant constructor anchored"><a href="#type-attribute.VecTypeHintAttr" class="anchor"></a><code><span>| </span><span>`VecTypeHintAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.VisibilityAttr" class="def variant constructor anchored"><a href="#type-attribute.VisibilityAttr" class="anchor"></a><code><span>| </span><span>`VisibilityAttr <span class="keyword">of</span> <a href="#type-attr_tuple">attr_tuple</a> * <a href="#type-visibility_attr">visibility_attr</a></span></code></li><li id="type-attribute.WarnUnusedAttr" class="def variant constructor anchored"><a href="#type-attribute.WarnUnusedAttr" class="anchor"></a><code><span>| </span><span>`WarnUnusedAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.WarnUnusedResultAttr" class="def variant constructor anchored"><a href="#type-attribute.WarnUnusedResultAttr" class="anchor"></a><code><span>| </span><span>`WarnUnusedResultAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.WeakAttr" class="def variant constructor anchored"><a href="#type-attribute.WeakAttr" class="anchor"></a><code><span>| </span><span>`WeakAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.WeakImportAttr" class="def variant constructor anchored"><a href="#type-attribute.WeakImportAttr" class="anchor"></a><code><span>| </span><span>`WeakImportAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.WeakRefAttr" class="def variant constructor anchored"><a href="#type-attribute.WeakRefAttr" class="anchor"></a><code><span>| </span><span>`WeakRefAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.WebAssemblyExportNameAttr" class="def variant constructor anchored"><a href="#type-attribute.WebAssemblyExportNameAttr" class="anchor"></a><code><span>| </span><span>`WebAssemblyExportNameAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.WebAssemblyImportModuleAttr" class="def variant constructor anchored"><a href="#type-attribute.WebAssemblyImportModuleAttr" class="anchor"></a><code><span>| </span><span>`WebAssemblyImportModuleAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.WebAssemblyImportNameAttr" class="def variant constructor anchored"><a href="#type-attribute.WebAssemblyImportNameAttr" class="anchor"></a><code><span>| </span><span>`WebAssemblyImportNameAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.WorkGroupSizeHintAttr" class="def variant constructor anchored"><a href="#type-attribute.WorkGroupSizeHintAttr" class="anchor"></a><code><span>| </span><span>`WorkGroupSizeHintAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.X86ForceAlignArgPointerAttr" class="def variant constructor anchored"><a href="#type-attribute.X86ForceAlignArgPointerAttr" class="anchor"></a><code><span>| </span><span>`X86ForceAlignArgPointerAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.XRayInstrumentAttr" class="def variant constructor anchored"><a href="#type-attribute.XRayInstrumentAttr" class="anchor"></a><code><span>| </span><span>`XRayInstrumentAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.XRayLogArgsAttr" class="def variant constructor anchored"><a href="#type-attribute.XRayLogArgsAttr" class="anchor"></a><code><span>| </span><span>`XRayLogArgsAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.ZeroCallUsedRegsAttr" class="def variant constructor anchored"><a href="#type-attribute.ZeroCallUsedRegsAttr" class="anchor"></a><code><span>| </span><span>`ZeroCallUsedRegsAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.AbiTagAttr" class="def variant constructor anchored"><a href="#type-attribute.AbiTagAttr" class="anchor"></a><code><span>| </span><span>`AbiTagAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.AliasAttr" class="def variant constructor anchored"><a href="#type-attribute.AliasAttr" class="anchor"></a><code><span>| </span><span>`AliasAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.AlignValueAttr" class="def variant constructor anchored"><a href="#type-attribute.AlignValueAttr" class="anchor"></a><code><span>| </span><span>`AlignValueAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.BuiltinAliasAttr" class="def variant constructor anchored"><a href="#type-attribute.BuiltinAliasAttr" class="anchor"></a><code><span>| </span><span>`BuiltinAliasAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.CalledOnceAttr" class="def variant constructor anchored"><a href="#type-attribute.CalledOnceAttr" class="anchor"></a><code><span>| </span><span>`CalledOnceAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.IFuncAttr" class="def variant constructor anchored"><a href="#type-attribute.IFuncAttr" class="anchor"></a><code><span>| </span><span>`IFuncAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.InitSegAttr" class="def variant constructor anchored"><a href="#type-attribute.InitSegAttr" class="anchor"></a><code><span>| </span><span>`InitSegAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.LoaderUninitializedAttr" class="def variant constructor anchored"><a href="#type-attribute.LoaderUninitializedAttr" class="anchor"></a><code><span>| </span><span>`LoaderUninitializedAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.LoopHintAttr" class="def variant constructor anchored"><a href="#type-attribute.LoopHintAttr" class="anchor"></a><code><span>| </span><span>`LoopHintAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.ModeAttr" class="def variant constructor anchored"><a href="#type-attribute.ModeAttr" class="anchor"></a><code><span>| </span><span>`ModeAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.NoBuiltinAttr" class="def variant constructor anchored"><a href="#type-attribute.NoBuiltinAttr" class="anchor"></a><code><span>| </span><span>`NoBuiltinAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.NoEscapeAttr" class="def variant constructor anchored"><a href="#type-attribute.NoEscapeAttr" class="anchor"></a><code><span>| </span><span>`NoEscapeAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.OMPCaptureKindAttr" class="def variant constructor anchored"><a href="#type-attribute.OMPCaptureKindAttr" class="anchor"></a><code><span>| </span><span>`OMPCaptureKindAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.OMPDeclareSimdDeclAttr" class="def variant constructor anchored"><a href="#type-attribute.OMPDeclareSimdDeclAttr" class="anchor"></a><code><span>| </span><span>`OMPDeclareSimdDeclAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.OMPReferencedVarAttr" class="def variant constructor anchored"><a href="#type-attribute.OMPReferencedVarAttr" class="anchor"></a><code><span>| </span><span>`OMPReferencedVarAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.ObjCBoxableAttr" class="def variant constructor anchored"><a href="#type-attribute.ObjCBoxableAttr" class="anchor"></a><code><span>| </span><span>`ObjCBoxableAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.ObjCClassStubAttr" class="def variant constructor anchored"><a href="#type-attribute.ObjCClassStubAttr" class="anchor"></a><code><span>| </span><span>`ObjCClassStubAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.ObjCDesignatedInitializerAttr" class="def variant constructor anchored"><a href="#type-attribute.ObjCDesignatedInitializerAttr" class="anchor"></a><code><span>| </span><span>`ObjCDesignatedInitializerAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.ObjCDirectAttr" class="def variant constructor anchored"><a href="#type-attribute.ObjCDirectAttr" class="anchor"></a><code><span>| </span><span>`ObjCDirectAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.ObjCDirectMembersAttr" class="def variant constructor anchored"><a href="#type-attribute.ObjCDirectMembersAttr" class="anchor"></a><code><span>| </span><span>`ObjCDirectMembersAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.ObjCNonLazyClassAttr" class="def variant constructor anchored"><a href="#type-attribute.ObjCNonLazyClassAttr" class="anchor"></a><code><span>| </span><span>`ObjCNonLazyClassAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.ObjCNonRuntimeProtocolAttr" class="def variant constructor anchored"><a href="#type-attribute.ObjCNonRuntimeProtocolAttr" class="anchor"></a><code><span>| </span><span>`ObjCNonRuntimeProtocolAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.ObjCRuntimeNameAttr" class="def variant constructor anchored"><a href="#type-attribute.ObjCRuntimeNameAttr" class="anchor"></a><code><span>| </span><span>`ObjCRuntimeNameAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.ObjCRuntimeVisibleAttr" class="def variant constructor anchored"><a href="#type-attribute.ObjCRuntimeVisibleAttr" class="anchor"></a><code><span>| </span><span>`ObjCRuntimeVisibleAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.OpenCLAccessAttr" class="def variant constructor anchored"><a href="#type-attribute.OpenCLAccessAttr" class="anchor"></a><code><span>| </span><span>`OpenCLAccessAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.OverloadableAttr" class="def variant constructor anchored"><a href="#type-attribute.OverloadableAttr" class="anchor"></a><code><span>| </span><span>`OverloadableAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.RenderScriptKernelAttr" class="def variant constructor anchored"><a href="#type-attribute.RenderScriptKernelAttr" class="anchor"></a><code><span>| </span><span>`RenderScriptKernelAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.SwiftObjCMembersAttr" class="def variant constructor anchored"><a href="#type-attribute.SwiftObjCMembersAttr" class="anchor"></a><code><span>| </span><span>`SwiftObjCMembersAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.SwiftVersionedAdditionAttr" class="def variant constructor anchored"><a href="#type-attribute.SwiftVersionedAdditionAttr" class="anchor"></a><code><span>| </span><span>`SwiftVersionedAdditionAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.SwiftVersionedRemovalAttr" class="def variant constructor anchored"><a href="#type-attribute.SwiftVersionedRemovalAttr" class="anchor"></a><code><span>| </span><span>`SwiftVersionedRemovalAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li><li id="type-attribute.ThreadAttr" class="def variant constructor anchored"><a href="#type-attribute.ThreadAttr" class="anchor"></a><code><span>| </span><span>`ThreadAttr <span class="keyword">of</span> <a href="#type-attribute_info">attribute_info</a></span></code></li></ol><code><span> ]</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-template_instantiation_arg_info"><a href="#type-template_instantiation_arg_info" class="anchor"></a><code><span><span class="keyword">type</span> template_instantiation_arg_info</span><span> = </span><span>[ </span></code><ol><li id="type-template_instantiation_arg_info.Null" class="def variant constructor anchored"><a href="#type-template_instantiation_arg_info.Null" class="anchor"></a><code><span>| </span><span>`Null</span></code></li><li id="type-template_instantiation_arg_info.Type" class="def variant constructor anchored"><a href="#type-template_instantiation_arg_info.Type" class="anchor"></a><code><span>| </span><span>`Type <span class="keyword">of</span> <a href="#type-qual_type">qual_type</a></span></code></li><li id="type-template_instantiation_arg_info.Declaration" class="def variant constructor anchored"><a href="#type-template_instantiation_arg_info.Declaration" class="anchor"></a><code><span>| </span><span>`Declaration <span class="keyword">of</span> <a href="#type-pointer">pointer</a></span></code></li><li id="type-template_instantiation_arg_info.NullPtr" class="def variant constructor anchored"><a href="#type-template_instantiation_arg_info.NullPtr" class="anchor"></a><code><span>| </span><span>`NullPtr</span></code></li><li id="type-template_instantiation_arg_info.Integral" class="def variant constructor anchored"><a href="#type-template_instantiation_arg_info.Integral" class="anchor"></a><code><span>| </span><span>`Integral <span class="keyword">of</span> string</span></code></li><li id="type-template_instantiation_arg_info.Template" class="def variant constructor anchored"><a href="#type-template_instantiation_arg_info.Template" class="anchor"></a><code><span>| </span><span>`Template</span></code></li><li id="type-template_instantiation_arg_info.TemplateExpansion" class="def variant constructor anchored"><a href="#type-template_instantiation_arg_info.TemplateExpansion" class="anchor"></a><code><span>| </span><span>`TemplateExpansion</span></code></li><li id="type-template_instantiation_arg_info.Expression" class="def variant constructor anchored"><a href="#type-template_instantiation_arg_info.Expression" class="anchor"></a><code><span>| </span><span>`Expression</span></code></li><li id="type-template_instantiation_arg_info.Pack" class="def variant constructor anchored"><a href="#type-template_instantiation_arg_info.Pack" class="anchor"></a><code><span>| </span><span>`Pack <span class="keyword">of</span> <span><a href="#type-template_instantiation_arg_info">template_instantiation_arg_info</a> list</span></span></code></li></ol><code><span> ]</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-comment"><a href="#type-comment" class="anchor"></a><code><span><span class="keyword">type</span> comment</span><span> = </span></code><ol><li id="type-comment.VerbatimBlockLineComment" class="def variant constructor anchored"><a href="#type-comment.VerbatimBlockLineComment" class="anchor"></a><code><span>| </span><span><span class="constructor">VerbatimBlockLineComment</span> <span class="keyword">of</span> <a href="#type-comment_info">comment_info</a> * <span><a href="#type-comment">comment</a> list</span></span></code></li><li id="type-comment.TextComment" class="def variant constructor anchored"><a href="#type-comment.TextComment" class="anchor"></a><code><span>| </span><span><span class="constructor">TextComment</span> <span class="keyword">of</span> <a href="#type-comment_info">comment_info</a> * <span><a href="#type-comment">comment</a> list</span></span></code></li><li id="type-comment.InlineCommandComment" class="def variant constructor anchored"><a href="#type-comment.InlineCommandComment" class="anchor"></a><code><span>| </span><span><span class="constructor">InlineCommandComment</span> <span class="keyword">of</span> <a href="#type-comment_info">comment_info</a> * <span><a href="#type-comment">comment</a> list</span></span></code></li><li id="type-comment.HTMLStartTagComment" class="def variant constructor anchored"><a href="#type-comment.HTMLStartTagComment" class="anchor"></a><code><span>| </span><span><span class="constructor">HTMLStartTagComment</span> <span class="keyword">of</span> <a href="#type-comment_info">comment_info</a> * <span><a href="#type-comment">comment</a> list</span></span></code></li><li id="type-comment.HTMLEndTagComment" class="def variant constructor anchored"><a href="#type-comment.HTMLEndTagComment" class="anchor"></a><code><span>| </span><span><span class="constructor">HTMLEndTagComment</span> <span class="keyword">of</span> <a href="#type-comment_info">comment_info</a> * <span><a href="#type-comment">comment</a> list</span></span></code></li><li id="type-comment.FullComment" class="def variant constructor anchored"><a href="#type-comment.FullComment" class="anchor"></a><code><span>| </span><span><span class="constructor">FullComment</span> <span class="keyword">of</span> <a href="#type-comment_info">comment_info</a> * <span><a href="#type-comment">comment</a> list</span></span></code></li><li id="type-comment.ParagraphComment" class="def variant constructor anchored"><a href="#type-comment.ParagraphComment" class="anchor"></a><code><span>| </span><span><span class="constructor">ParagraphComment</span> <span class="keyword">of</span> <a href="#type-comment_info">comment_info</a> * <span><a href="#type-comment">comment</a> list</span></span></code></li><li id="type-comment.BlockCommandComment" class="def variant constructor anchored"><a href="#type-comment.BlockCommandComment" class="anchor"></a><code><span>| </span><span><span class="constructor">BlockCommandComment</span> <span class="keyword">of</span> <a href="#type-comment_info">comment_info</a> * <span><a href="#type-comment">comment</a> list</span></span></code></li><li id="type-comment.VerbatimLineComment" class="def variant constructor anchored"><a href="#type-comment.VerbatimLineComment" class="anchor"></a><code><span>| </span><span><span class="constructor">VerbatimLineComment</span> <span class="keyword">of</span> <a href="#type-comment_info">comment_info</a> * <span><a href="#type-comment">comment</a> list</span></span></code></li><li id="type-comment.VerbatimBlockComment" class="def variant constructor anchored"><a href="#type-comment.VerbatimBlockComment" class="anchor"></a><code><span>| </span><span><span class="constructor">VerbatimBlockComment</span> <span class="keyword">of</span> <a href="#type-comment_info">comment_info</a> * <span><a href="#type-comment">comment</a> list</span></span></code></li><li id="type-comment.TParamCommandComment" class="def variant constructor anchored"><a href="#type-comment.TParamCommandComment" class="anchor"></a><code><span>| </span><span><span class="constructor">TParamCommandComment</span> <span class="keyword">of</span> <a href="#type-comment_info">comment_info</a> * <span><a href="#type-comment">comment</a> list</span></span></code></li><li id="type-comment.ParamCommandComment" class="def variant constructor anchored"><a href="#type-comment.ParamCommandComment" class="anchor"></a><code><span>| </span><span><span class="constructor">ParamCommandComment</span> <span class="keyword">of</span> <a href="#type-comment_info">comment_info</a> * <span><a href="#type-comment">comment</a> list</span></span></code></li></ol></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-template_specialization_info"><a href="#type-template_specialization_info" class="anchor"></a><code><span><span class="keyword">type</span> template_specialization_info</span><span> = </span><span>{</span></code><ol><li id="type-template_specialization_info.tsi_template_decl" class="def record field anchored"><a href="#type-template_specialization_info.tsi_template_decl" class="anchor"></a><code><span>tsi_template_decl : <a href="#type-pointer">pointer</a>;</span></code></li><li id="type-template_specialization_info.tsi_specialization_args" class="def record field anchored"><a href="#type-template_specialization_info.tsi_specialization_args" class="anchor"></a><code><span>tsi_specialization_args : <span><a href="#type-template_instantiation_arg_info">template_instantiation_arg_info</a> list</span>;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-decl_info"><a href="#type-decl_info" class="anchor"></a><code><span><span class="keyword">type</span> decl_info</span><span> = </span><span>{</span></code><ol><li id="type-decl_info.di_pointer" class="def record field anchored"><a href="#type-decl_info.di_pointer" class="anchor"></a><code><span>di_pointer : <a href="#type-pointer">pointer</a>;</span></code></li><li id="type-decl_info.di_parent_pointer" class="def record field anchored"><a href="#type-decl_info.di_parent_pointer" class="anchor"></a><code><span>di_parent_pointer : <span><a href="#type-pointer">pointer</a> option</span>;</span></code></li><li id="type-decl_info.di_source_range" class="def record field anchored"><a href="#type-decl_info.di_source_range" class="anchor"></a><code><span>di_source_range : <a href="#type-source_range">source_range</a>;</span></code></li><li id="type-decl_info.di_owning_module" class="def record field anchored"><a href="#type-decl_info.di_owning_module" class="anchor"></a><code><span>di_owning_module : <span>string option</span>;</span></code></li><li id="type-decl_info.di_is_hidden" class="def record field anchored"><a href="#type-decl_info.di_is_hidden" class="anchor"></a><code><span>di_is_hidden : bool;</span></code></li><li id="type-decl_info.di_is_implicit" class="def record field anchored"><a href="#type-decl_info.di_is_implicit" class="anchor"></a><code><span>di_is_implicit : bool;</span></code></li><li id="type-decl_info.di_is_used" class="def record field anchored"><a href="#type-decl_info.di_is_used" class="anchor"></a><code><span>di_is_used : bool;</span></code></li><li id="type-decl_info.di_is_this_declaration_referenced" class="def record field anchored"><a href="#type-decl_info.di_is_this_declaration_referenced" class="anchor"></a><code><span>di_is_this_declaration_referenced : bool;</span></code></li><li id="type-decl_info.di_is_invalid_decl" class="def record field anchored"><a href="#type-decl_info.di_is_invalid_decl" class="anchor"></a><code><span>di_is_invalid_decl : bool;</span></code></li><li id="type-decl_info.di_attributes" class="def record field anchored"><a href="#type-decl_info.di_attributes" class="anchor"></a><code><span>di_attributes : <span><a href="#type-attribute">attribute</a> list</span>;</span></code></li><li id="type-decl_info.di_full_comment" class="def record field anchored"><a href="#type-decl_info.di_full_comment" class="anchor"></a><code><span>di_full_comment : <span><a href="#type-comment">comment</a> option</span>;</span></code></li><li id="type-decl_info.di_access" class="def record field anchored"><a href="#type-decl_info.di_access" class="anchor"></a><code><span>di_access : <a href="#type-access_specifier">access_specifier</a>;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-block_captured_variable"><a href="#type-block_captured_variable" class="anchor"></a><code><span><span class="keyword">type</span> block_captured_variable</span><span> = </span><span>{</span></code><ol><li id="type-block_captured_variable.bcv_is_by_ref" class="def record field anchored"><a href="#type-block_captured_variable.bcv_is_by_ref" class="anchor"></a><code><span>bcv_is_by_ref : bool;</span></code></li><li id="type-block_captured_variable.bcv_is_nested" class="def record field anchored"><a href="#type-block_captured_variable.bcv_is_nested" class="anchor"></a><code><span>bcv_is_nested : bool;</span></code></li><li id="type-block_captured_variable.bcv_variable" class="def record field anchored"><a href="#type-block_captured_variable.bcv_variable" class="anchor"></a><code><span>bcv_variable : <span><a href="#type-decl_ref">decl_ref</a> option</span>;</span></code></li><li id="type-block_captured_variable.bcv_copy_expr" class="def record field anchored"><a href="#type-block_captured_variable.bcv_copy_expr" class="anchor"></a><code><span>bcv_copy_expr : <span><a href="#type-stmt">stmt</a> option</span>;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-block_decl_info"><a href="#type-block_decl_info" class="anchor"></a><code><span><span class="keyword">and</span> block_decl_info</span><span> = </span><span>{</span></code><ol><li id="type-block_decl_info.bdi_parameters" class="def record field anchored"><a href="#type-block_decl_info.bdi_parameters" class="anchor"></a><code><span>bdi_parameters : <span><a href="#type-decl">decl</a> list</span>;</span></code></li><li id="type-block_decl_info.bdi_is_variadic" class="def record field anchored"><a href="#type-block_decl_info.bdi_is_variadic" class="anchor"></a><code><span>bdi_is_variadic : bool;</span></code></li><li id="type-block_decl_info.bdi_captures_cxx_this" class="def record field anchored"><a href="#type-block_decl_info.bdi_captures_cxx_this" class="anchor"></a><code><span>bdi_captures_cxx_this : bool;</span></code></li><li id="type-block_decl_info.bdi_captured_variables" class="def record field anchored"><a href="#type-block_decl_info.bdi_captured_variables" class="anchor"></a><code><span>bdi_captured_variables : <span><a href="#type-block_captured_variable">block_captured_variable</a> list</span>;</span></code></li><li id="type-block_decl_info.bdi_body" class="def record field anchored"><a href="#type-block_decl_info.bdi_body" class="anchor"></a><code><span>bdi_body : <span><a href="#type-stmt">stmt</a> option</span>;</span></code></li><li id="type-block_decl_info.bdi_mangled_name" class="def record field anchored"><a href="#type-block_decl_info.bdi_mangled_name" class="anchor"></a><code><span>bdi_mangled_name : string;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-coreturn_stmt_info"><a href="#type-coreturn_stmt_info" class="anchor"></a><code><span><span class="keyword">and</span> coreturn_stmt_info</span><span> = </span><span>{</span></code><ol><li id="type-coreturn_stmt_info.coret_operand" class="def record field anchored"><a href="#type-coreturn_stmt_info.coret_operand" class="anchor"></a><code><span>coret_operand : <span><a href="#type-stmt">stmt</a> option</span>;</span></code></li><li id="type-coreturn_stmt_info.coret_promise_call" class="def record field anchored"><a href="#type-coreturn_stmt_info.coret_promise_call" class="anchor"></a><code><span>coret_promise_call : <span><a href="#type-stmt">stmt</a> option</span>;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-coro_body_stmt_info"><a href="#type-coro_body_stmt_info" class="anchor"></a><code><span><span class="keyword">and</span> coro_body_stmt_info</span><span> = </span><span>{</span></code><ol><li id="type-coro_body_stmt_info.cbs_body" class="def record field anchored"><a href="#type-coro_body_stmt_info.cbs_body" class="anchor"></a><code><span>cbs_body : <a href="#type-pointer">pointer</a>;</span></code></li><li id="type-coro_body_stmt_info.cbs_promise_decl_stmt" class="def record field anchored"><a href="#type-coro_body_stmt_info.cbs_promise_decl_stmt" class="anchor"></a><code><span>cbs_promise_decl_stmt : <a href="#type-pointer">pointer</a>;</span></code></li><li id="type-coro_body_stmt_info.cbs_return_value" class="def record field anchored"><a href="#type-coro_body_stmt_info.cbs_return_value" class="anchor"></a><code><span>cbs_return_value : <a href="#type-stmt">stmt</a>;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-cxx_catch_stmt_info"><a href="#type-cxx_catch_stmt_info" class="anchor"></a><code><span><span class="keyword">and</span> cxx_catch_stmt_info</span><span> = </span><span>{</span></code><ol><li id="type-cxx_catch_stmt_info.xcsi_variable" class="def record field anchored"><a href="#type-cxx_catch_stmt_info.xcsi_variable" class="anchor"></a><code><span>xcsi_variable : <span><a href="#type-decl">decl</a> option</span>;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-cxx_ctor_initializer"><a href="#type-cxx_ctor_initializer" class="anchor"></a><code><span><span class="keyword">and</span> cxx_ctor_initializer</span><span> = </span><span>{</span></code><ol><li id="type-cxx_ctor_initializer.xci_subject" class="def record field anchored"><a href="#type-cxx_ctor_initializer.xci_subject" class="anchor"></a><code><span>xci_subject : <a href="#type-cxx_ctor_initializer_subject">cxx_ctor_initializer_subject</a>;</span></code></li><li id="type-cxx_ctor_initializer.xci_source_range" class="def record field anchored"><a href="#type-cxx_ctor_initializer.xci_source_range" class="anchor"></a><code><span>xci_source_range : <a href="#type-source_range">source_range</a>;</span></code></li><li id="type-cxx_ctor_initializer.xci_init_expr" class="def record field anchored"><a href="#type-cxx_ctor_initializer.xci_init_expr" class="anchor"></a><code><span>xci_init_expr : <span><a href="#type-stmt">stmt</a> option</span>;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-cxx_default_expr_info"><a href="#type-cxx_default_expr_info" class="anchor"></a><code><span><span class="keyword">and</span> cxx_default_expr_info</span><span> = </span><span>{</span></code><ol><li id="type-cxx_default_expr_info.xdaei_init_expr" class="def record field anchored"><a href="#type-cxx_default_expr_info.xdaei_init_expr" class="anchor"></a><code><span>xdaei_init_expr : <span><a href="#type-stmt">stmt</a> option</span>;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-cxx_method_decl_info"><a href="#type-cxx_method_decl_info" class="anchor"></a><code><span><span class="keyword">and</span> cxx_method_decl_info</span><span> = </span><span>{</span></code><ol><li id="type-cxx_method_decl_info.xmdi_is_virtual" class="def record field anchored"><a href="#type-cxx_method_decl_info.xmdi_is_virtual" class="anchor"></a><code><span>xmdi_is_virtual : bool;</span></code></li><li id="type-cxx_method_decl_info.xmdi_is_static" class="def record field anchored"><a href="#type-cxx_method_decl_info.xmdi_is_static" class="anchor"></a><code><span>xmdi_is_static : bool;</span></code></li><li id="type-cxx_method_decl_info.xmdi_is_const" class="def record field anchored"><a href="#type-cxx_method_decl_info.xmdi_is_const" class="anchor"></a><code><span>xmdi_is_const : bool;</span></code></li><li id="type-cxx_method_decl_info.xmdi_is_copy_assignment" class="def record field anchored"><a href="#type-cxx_method_decl_info.xmdi_is_copy_assignment" class="anchor"></a><code><span>xmdi_is_copy_assignment : bool;</span></code></li><li id="type-cxx_method_decl_info.xmdi_is_copy_constructor" class="def record field anchored"><a href="#type-cxx_method_decl_info.xmdi_is_copy_constructor" class="anchor"></a><code><span>xmdi_is_copy_constructor : bool;</span></code></li><li id="type-cxx_method_decl_info.xmdi_is_move_constructor" class="def record field anchored"><a href="#type-cxx_method_decl_info.xmdi_is_move_constructor" class="anchor"></a><code><span>xmdi_is_move_constructor : bool;</span></code></li><li id="type-cxx_method_decl_info.xmdi_cxx_ctor_initializers" class="def record field anchored"><a href="#type-cxx_method_decl_info.xmdi_cxx_ctor_initializers" class="anchor"></a><code><span>xmdi_cxx_ctor_initializers : <span><a href="#type-cxx_ctor_initializer">cxx_ctor_initializer</a> list</span>;</span></code></li><li id="type-cxx_method_decl_info.xmdi_overriden_methods" class="def record field anchored"><a href="#type-cxx_method_decl_info.xmdi_overriden_methods" class="anchor"></a><code><span>xmdi_overriden_methods : <span><a href="#type-decl_ref">decl_ref</a> list</span>;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-cxx_record_decl_info"><a href="#type-cxx_record_decl_info" class="anchor"></a><code><span><span class="keyword">and</span> cxx_record_decl_info</span><span> = </span><span>{</span></code><ol><li id="type-cxx_record_decl_info.xrdi_bases" class="def record field anchored"><a href="#type-cxx_record_decl_info.xrdi_bases" class="anchor"></a><code><span>xrdi_bases : <span><a href="#type-type_ptr">type_ptr</a> list</span>;</span></code></li><li id="type-cxx_record_decl_info.xrdi_vbases" class="def record field anchored"><a href="#type-cxx_record_decl_info.xrdi_vbases" class="anchor"></a><code><span>xrdi_vbases : <span><a href="#type-type_ptr">type_ptr</a> list</span>;</span></code></li><li id="type-cxx_record_decl_info.xrdi_transitive_vbases" class="def record field anchored"><a href="#type-cxx_record_decl_info.xrdi_transitive_vbases" class="anchor"></a><code><span>xrdi_transitive_vbases : <span><a href="#type-type_ptr">type_ptr</a> list</span>;</span></code></li><li id="type-cxx_record_decl_info.xrdi_is_pod" class="def record field anchored"><a href="#type-cxx_record_decl_info.xrdi_is_pod" class="anchor"></a><code><span>xrdi_is_pod : bool;</span></code></li><li id="type-cxx_record_decl_info.xrdi_is_trivially_copyable" class="def record field anchored"><a href="#type-cxx_record_decl_info.xrdi_is_trivially_copyable" class="anchor"></a><code><span>xrdi_is_trivially_copyable : bool;</span></code></li><li id="type-cxx_record_decl_info.xrdi_destructor" class="def record field anchored"><a href="#type-cxx_record_decl_info.xrdi_destructor" class="anchor"></a><code><span>xrdi_destructor : <span><a href="#type-decl_ref">decl_ref</a> option</span>;</span></code></li><li id="type-cxx_record_decl_info.xrdi_lambda_call_operator" class="def record field anchored"><a href="#type-cxx_record_decl_info.xrdi_lambda_call_operator" class="anchor"></a><code><span>xrdi_lambda_call_operator : <span><a href="#type-decl_ref">decl_ref</a> option</span>;</span></code></li><li id="type-cxx_record_decl_info.xrdi_lambda_captures" class="def record field anchored"><a href="#type-cxx_record_decl_info.xrdi_lambda_captures" class="anchor"></a><code><span>xrdi_lambda_captures : <span><a href="#type-lambda_capture_info">lambda_capture_info</a> list</span>;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-decl"><a href="#type-decl" class="anchor"></a><code><span><span class="keyword">and</span> decl</span><span> = </span></code><ol><li id="type-decl.TranslationUnitDecl" class="def variant constructor anchored"><a href="#type-decl.TranslationUnitDecl" class="anchor"></a><code><span>| </span><span><span class="constructor">TranslationUnitDecl</span> <span class="keyword">of</span> <a href="#type-decl_info">decl_info</a>
                       * <span><a href="#type-decl">decl</a> list</span>
                       * <a href="#type-decl_context_info">decl_context_info</a>
                       * <a href="#type-translation_unit_decl_info">translation_unit_decl_info</a></span></code></li><li id="type-decl.RequiresExprBodyDecl" class="def variant constructor anchored"><a href="#type-decl.RequiresExprBodyDecl" class="anchor"></a><code><span>| </span><span><span class="constructor">RequiresExprBodyDecl</span> <span class="keyword">of</span> <a href="#type-decl_info">decl_info</a></span></code></li><li id="type-decl.LinkageSpecDecl" class="def variant constructor anchored"><a href="#type-decl.LinkageSpecDecl" class="anchor"></a><code><span>| </span><span><span class="constructor">LinkageSpecDecl</span> <span class="keyword">of</span> <a href="#type-decl_info">decl_info</a> * <span><a href="#type-decl">decl</a> list</span> * <a href="#type-decl_context_info">decl_context_info</a></span></code></li><li id="type-decl.ExternCContextDecl" class="def variant constructor anchored"><a href="#type-decl.ExternCContextDecl" class="anchor"></a><code><span>| </span><span><span class="constructor">ExternCContextDecl</span> <span class="keyword">of</span> <a href="#type-decl_info">decl_info</a></span></code></li><li id="type-decl.ExportDecl" class="def variant constructor anchored"><a href="#type-decl.ExportDecl" class="anchor"></a><code><span>| </span><span><span class="constructor">ExportDecl</span> <span class="keyword">of</span> <a href="#type-decl_info">decl_info</a></span></code></li><li id="type-decl.CapturedDecl" class="def variant constructor anchored"><a href="#type-decl.CapturedDecl" class="anchor"></a><code><span>| </span><span><span class="constructor">CapturedDecl</span> <span class="keyword">of</span> <a href="#type-decl_info">decl_info</a> * <span><a href="#type-decl">decl</a> list</span> * <a href="#type-decl_context_info">decl_context_info</a></span></code></li><li id="type-decl.BlockDecl" class="def variant constructor anchored"><a href="#type-decl.BlockDecl" class="anchor"></a><code><span>| </span><span><span class="constructor">BlockDecl</span> <span class="keyword">of</span> <a href="#type-decl_info">decl_info</a> * <a href="#type-block_decl_info">block_decl_info</a></span></code></li><li id="type-decl.TopLevelStmtDecl" class="def variant constructor anchored"><a href="#type-decl.TopLevelStmtDecl" class="anchor"></a><code><span>| </span><span><span class="constructor">TopLevelStmtDecl</span> <span class="keyword">of</span> <a href="#type-decl_info">decl_info</a></span></code></li><li id="type-decl.StaticAssertDecl" class="def variant constructor anchored"><a href="#type-decl.StaticAssertDecl" class="anchor"></a><code><span>| </span><span><span class="constructor">StaticAssertDecl</span> <span class="keyword">of</span> <a href="#type-decl_info">decl_info</a></span></code></li><li id="type-decl.PragmaDetectMismatchDecl" class="def variant constructor anchored"><a href="#type-decl.PragmaDetectMismatchDecl" class="anchor"></a><code><span>| </span><span><span class="constructor">PragmaDetectMismatchDecl</span> <span class="keyword">of</span> <a href="#type-decl_info">decl_info</a></span></code></li><li id="type-decl.PragmaCommentDecl" class="def variant constructor anchored"><a href="#type-decl.PragmaCommentDecl" class="anchor"></a><code><span>| </span><span><span class="constructor">PragmaCommentDecl</span> <span class="keyword">of</span> <a href="#type-decl_info">decl_info</a></span></code></li><li id="type-decl.ObjCPropertyImplDecl" class="def variant constructor anchored"><a href="#type-decl.ObjCPropertyImplDecl" class="anchor"></a><code><span>| </span><span><span class="constructor">ObjCPropertyImplDecl</span> <span class="keyword">of</span> <a href="#type-decl_info">decl_info</a> * <a href="#type-obj_c_property_impl_decl_info">obj_c_property_impl_decl_info</a></span></code></li><li id="type-decl.OMPThreadPrivateDecl" class="def variant constructor anchored"><a href="#type-decl.OMPThreadPrivateDecl" class="anchor"></a><code><span>| </span><span><span class="constructor">OMPThreadPrivateDecl</span> <span class="keyword">of</span> <a href="#type-decl_info">decl_info</a></span></code></li><li id="type-decl.OMPRequiresDecl" class="def variant constructor anchored"><a href="#type-decl.OMPRequiresDecl" class="anchor"></a><code><span>| </span><span><span class="constructor">OMPRequiresDecl</span> <span class="keyword">of</span> <a href="#type-decl_info">decl_info</a></span></code></li><li id="type-decl.OMPAllocateDecl" class="def variant constructor anchored"><a href="#type-decl.OMPAllocateDecl" class="anchor"></a><code><span>| </span><span><span class="constructor">OMPAllocateDecl</span> <span class="keyword">of</span> <a href="#type-decl_info">decl_info</a></span></code></li><li id="type-decl.ObjCMethodDecl" class="def variant constructor anchored"><a href="#type-decl.ObjCMethodDecl" class="anchor"></a><code><span>| </span><span><span class="constructor">ObjCMethodDecl</span> <span class="keyword">of</span> <a href="#type-decl_info">decl_info</a> * <a href="#type-named_decl_info">named_decl_info</a> * <a href="#type-obj_c_method_decl_info">obj_c_method_decl_info</a></span></code></li><li id="type-decl.ObjCProtocolDecl" class="def variant constructor anchored"><a href="#type-decl.ObjCProtocolDecl" class="anchor"></a><code><span>| </span><span><span class="constructor">ObjCProtocolDecl</span> <span class="keyword">of</span> <a href="#type-decl_info">decl_info</a>
                    * <a href="#type-named_decl_info">named_decl_info</a>
                    * <span><a href="#type-decl">decl</a> list</span>
                    * <a href="#type-decl_context_info">decl_context_info</a>
                    * <a href="#type-obj_c_protocol_decl_info">obj_c_protocol_decl_info</a></span></code></li><li id="type-decl.ObjCInterfaceDecl" class="def variant constructor anchored"><a href="#type-decl.ObjCInterfaceDecl" class="anchor"></a><code><span>| </span><span><span class="constructor">ObjCInterfaceDecl</span> <span class="keyword">of</span> <a href="#type-decl_info">decl_info</a>
                     * <a href="#type-named_decl_info">named_decl_info</a>
                     * <span><a href="#type-decl">decl</a> list</span>
                     * <a href="#type-decl_context_info">decl_context_info</a>
                     * <a href="#type-obj_c_interface_decl_info">obj_c_interface_decl_info</a></span></code></li><li id="type-decl.ObjCImplementationDecl" class="def variant constructor anchored"><a href="#type-decl.ObjCImplementationDecl" class="anchor"></a><code><span>| </span><span><span class="constructor">ObjCImplementationDecl</span> <span class="keyword">of</span> <a href="#type-decl_info">decl_info</a>
                          * <a href="#type-named_decl_info">named_decl_info</a>
                          * <span><a href="#type-decl">decl</a> list</span>
                          * <a href="#type-decl_context_info">decl_context_info</a>
                          * <a href="#type-obj_c_implementation_decl_info">obj_c_implementation_decl_info</a></span></code></li><li id="type-decl.ObjCCategoryImplDecl" class="def variant constructor anchored"><a href="#type-decl.ObjCCategoryImplDecl" class="anchor"></a><code><span>| </span><span><span class="constructor">ObjCCategoryImplDecl</span> <span class="keyword">of</span> <a href="#type-decl_info">decl_info</a>
                        * <a href="#type-named_decl_info">named_decl_info</a>
                        * <span><a href="#type-decl">decl</a> list</span>
                        * <a href="#type-decl_context_info">decl_context_info</a>
                        * <a href="#type-obj_c_category_impl_decl_info">obj_c_category_impl_decl_info</a></span></code></li><li id="type-decl.ObjCCategoryDecl" class="def variant constructor anchored"><a href="#type-decl.ObjCCategoryDecl" class="anchor"></a><code><span>| </span><span><span class="constructor">ObjCCategoryDecl</span> <span class="keyword">of</span> <a href="#type-decl_info">decl_info</a>
                    * <a href="#type-named_decl_info">named_decl_info</a>
                    * <span><a href="#type-decl">decl</a> list</span>
                    * <a href="#type-decl_context_info">decl_context_info</a>
                    * <a href="#type-obj_c_category_decl_info">obj_c_category_decl_info</a></span></code></li><li id="type-decl.NamespaceDecl" class="def variant constructor anchored"><a href="#type-decl.NamespaceDecl" class="anchor"></a><code><span>| </span><span><span class="constructor">NamespaceDecl</span> <span class="keyword">of</span> <a href="#type-decl_info">decl_info</a>
                 * <a href="#type-named_decl_info">named_decl_info</a>
                 * <span><a href="#type-decl">decl</a> list</span>
                 * <a href="#type-decl_context_info">decl_context_info</a>
                 * <a href="#type-namespace_decl_info">namespace_decl_info</a></span></code></li><li id="type-decl.HLSLBufferDecl" class="def variant constructor anchored"><a href="#type-decl.HLSLBufferDecl" class="anchor"></a><code><span>| </span><span><span class="constructor">HLSLBufferDecl</span> <span class="keyword">of</span> <a href="#type-decl_info">decl_info</a> * <a href="#type-named_decl_info">named_decl_info</a></span></code></li><li id="type-decl.OMPDeclareReductionDecl" class="def variant constructor anchored"><a href="#type-decl.OMPDeclareReductionDecl" class="anchor"></a><code><span>| </span><span><span class="constructor">OMPDeclareReductionDecl</span> <span class="keyword">of</span> <a href="#type-decl_info">decl_info</a> * <a href="#type-named_decl_info">named_decl_info</a> * <a href="#type-qual_type">qual_type</a></span></code></li><li id="type-decl.OMPDeclareMapperDecl" class="def variant constructor anchored"><a href="#type-decl.OMPDeclareMapperDecl" class="anchor"></a><code><span>| </span><span><span class="constructor">OMPDeclareMapperDecl</span> <span class="keyword">of</span> <a href="#type-decl_info">decl_info</a> * <a href="#type-named_decl_info">named_decl_info</a> * <a href="#type-qual_type">qual_type</a></span></code></li><li id="type-decl.UnresolvedUsingValueDecl" class="def variant constructor anchored"><a href="#type-decl.UnresolvedUsingValueDecl" class="anchor"></a><code><span>| </span><span><span class="constructor">UnresolvedUsingValueDecl</span> <span class="keyword">of</span> <a href="#type-decl_info">decl_info</a> * <a href="#type-named_decl_info">named_decl_info</a> * <a href="#type-qual_type">qual_type</a></span></code></li><li id="type-decl.UnnamedGlobalConstantDecl" class="def variant constructor anchored"><a href="#type-decl.UnnamedGlobalConstantDecl" class="anchor"></a><code><span>| </span><span><span class="constructor">UnnamedGlobalConstantDecl</span> <span class="keyword">of</span> <a href="#type-decl_info">decl_info</a> * <a href="#type-named_decl_info">named_decl_info</a> * <a href="#type-qual_type">qual_type</a></span></code></li><li id="type-decl.TemplateParamObjectDecl" class="def variant constructor anchored"><a href="#type-decl.TemplateParamObjectDecl" class="anchor"></a><code><span>| </span><span><span class="constructor">TemplateParamObjectDecl</span> <span class="keyword">of</span> <a href="#type-decl_info">decl_info</a> * <a href="#type-named_decl_info">named_decl_info</a> * <a href="#type-qual_type">qual_type</a></span></code></li><li id="type-decl.MSGuidDecl" class="def variant constructor anchored"><a href="#type-decl.MSGuidDecl" class="anchor"></a><code><span>| </span><span><span class="constructor">MSGuidDecl</span> <span class="keyword">of</span> <a href="#type-decl_info">decl_info</a> * <a href="#type-named_decl_info">named_decl_info</a> * <a href="#type-qual_type">qual_type</a></span></code></li><li id="type-decl.IndirectFieldDecl" class="def variant constructor anchored"><a href="#type-decl.IndirectFieldDecl" class="anchor"></a><code><span>| </span><span><span class="constructor">IndirectFieldDecl</span> <span class="keyword">of</span> <a href="#type-decl_info">decl_info</a> * <a href="#type-named_decl_info">named_decl_info</a> * <a href="#type-qual_type">qual_type</a> * <span><a href="#type-decl_ref">decl_ref</a> list</span></span></code></li><li id="type-decl.EnumConstantDecl" class="def variant constructor anchored"><a href="#type-decl.EnumConstantDecl" class="anchor"></a><code><span>| </span><span><span class="constructor">EnumConstantDecl</span> <span class="keyword">of</span> <a href="#type-decl_info">decl_info</a>
                    * <a href="#type-named_decl_info">named_decl_info</a>
                    * <a href="#type-qual_type">qual_type</a>
                    * <a href="#type-enum_constant_decl_info">enum_constant_decl_info</a></span></code></li><li id="type-decl.FunctionDecl" class="def variant constructor anchored"><a href="#type-decl.FunctionDecl" class="anchor"></a><code><span>| </span><span><span class="constructor">FunctionDecl</span> <span class="keyword">of</span> <a href="#type-decl_info">decl_info</a> * <a href="#type-named_decl_info">named_decl_info</a> * <a href="#type-qual_type">qual_type</a> * <a href="#type-function_decl_info">function_decl_info</a></span></code></li><li id="type-decl.CXXMethodDecl" class="def variant constructor anchored"><a href="#type-decl.CXXMethodDecl" class="anchor"></a><code><span>| </span><span><span class="constructor">CXXMethodDecl</span> <span class="keyword">of</span> <a href="#type-decl_info">decl_info</a>
                 * <a href="#type-named_decl_info">named_decl_info</a>
                 * <a href="#type-qual_type">qual_type</a>
                 * <a href="#type-function_decl_info">function_decl_info</a>
                 * <a href="#type-cxx_method_decl_info">cxx_method_decl_info</a></span></code></li><li id="type-decl.CXXDestructorDecl" class="def variant constructor anchored"><a href="#type-decl.CXXDestructorDecl" class="anchor"></a><code><span>| </span><span><span class="constructor">CXXDestructorDecl</span> <span class="keyword">of</span> <a href="#type-decl_info">decl_info</a>
                     * <a href="#type-named_decl_info">named_decl_info</a>
                     * <a href="#type-qual_type">qual_type</a>
                     * <a href="#type-function_decl_info">function_decl_info</a>
                     * <a href="#type-cxx_method_decl_info">cxx_method_decl_info</a></span></code></li><li id="type-decl.CXXConversionDecl" class="def variant constructor anchored"><a href="#type-decl.CXXConversionDecl" class="anchor"></a><code><span>| </span><span><span class="constructor">CXXConversionDecl</span> <span class="keyword">of</span> <a href="#type-decl_info">decl_info</a>
                     * <a href="#type-named_decl_info">named_decl_info</a>
                     * <a href="#type-qual_type">qual_type</a>
                     * <a href="#type-function_decl_info">function_decl_info</a>
                     * <a href="#type-cxx_method_decl_info">cxx_method_decl_info</a></span></code></li><li id="type-decl.CXXConstructorDecl" class="def variant constructor anchored"><a href="#type-decl.CXXConstructorDecl" class="anchor"></a><code><span>| </span><span><span class="constructor">CXXConstructorDecl</span> <span class="keyword">of</span> <a href="#type-decl_info">decl_info</a>
                      * <a href="#type-named_decl_info">named_decl_info</a>
                      * <a href="#type-qual_type">qual_type</a>
                      * <a href="#type-function_decl_info">function_decl_info</a>
                      * <a href="#type-cxx_method_decl_info">cxx_method_decl_info</a></span></code></li><li id="type-decl.CXXDeductionGuideDecl" class="def variant constructor anchored"><a href="#type-decl.CXXDeductionGuideDecl" class="anchor"></a><code><span>| </span><span><span class="constructor">CXXDeductionGuideDecl</span> <span class="keyword">of</span> <a href="#type-decl_info">decl_info</a>
                         * <a href="#type-named_decl_info">named_decl_info</a>
                         * <a href="#type-qual_type">qual_type</a>
                         * <a href="#type-function_decl_info">function_decl_info</a></span></code></li><li id="type-decl.VarDecl" class="def variant constructor anchored"><a href="#type-decl.VarDecl" class="anchor"></a><code><span>| </span><span><span class="constructor">VarDecl</span> <span class="keyword">of</span> <a href="#type-decl_info">decl_info</a> * <a href="#type-named_decl_info">named_decl_info</a> * <a href="#type-qual_type">qual_type</a> * <a href="#type-var_decl_info">var_decl_info</a></span></code></li><li id="type-decl.VarTemplateSpecializationDecl" class="def variant constructor anchored"><a href="#type-decl.VarTemplateSpecializationDecl" class="anchor"></a><code><span>| </span><span><span class="constructor">VarTemplateSpecializationDecl</span> <span class="keyword">of</span> <span><a href="#type-template_instantiation_arg_info">template_instantiation_arg_info</a> list</span>
                                 * <a href="#type-decl_info">decl_info</a>
                                 * <a href="#type-named_decl_info">named_decl_info</a>
                                 * <a href="#type-qual_type">qual_type</a>
                                 * <a href="#type-var_decl_info">var_decl_info</a></span></code></li><li id="type-decl.VarTemplatePartialSpecializationDecl" class="def variant constructor anchored"><a href="#type-decl.VarTemplatePartialSpecializationDecl" class="anchor"></a><code><span>| </span><span><span class="constructor">VarTemplatePartialSpecializationDecl</span> <span class="keyword">of</span> <span><a href="#type-template_instantiation_arg_info">template_instantiation_arg_info</a> list</span>
                                        * <a href="#type-decl_info">decl_info</a>
                                        * <a href="#type-named_decl_info">named_decl_info</a>
                                        * <a href="#type-qual_type">qual_type</a>
                                        * <a href="#type-var_decl_info">var_decl_info</a></span></code></li><li id="type-decl.ParmVarDecl" class="def variant constructor anchored"><a href="#type-decl.ParmVarDecl" class="anchor"></a><code><span>| </span><span><span class="constructor">ParmVarDecl</span> <span class="keyword">of</span> <a href="#type-decl_info">decl_info</a> * <a href="#type-named_decl_info">named_decl_info</a> * <a href="#type-qual_type">qual_type</a> * <a href="#type-var_decl_info">var_decl_info</a></span></code></li><li id="type-decl.OMPCapturedExprDecl" class="def variant constructor anchored"><a href="#type-decl.OMPCapturedExprDecl" class="anchor"></a><code><span>| </span><span><span class="constructor">OMPCapturedExprDecl</span> <span class="keyword">of</span> <a href="#type-decl_info">decl_info</a> * <a href="#type-named_decl_info">named_decl_info</a> * <a href="#type-qual_type">qual_type</a> * <a href="#type-var_decl_info">var_decl_info</a></span></code></li><li id="type-decl.ImplicitParamDecl" class="def variant constructor anchored"><a href="#type-decl.ImplicitParamDecl" class="anchor"></a><code><span>| </span><span><span class="constructor">ImplicitParamDecl</span> <span class="keyword">of</span> <a href="#type-decl_info">decl_info</a> * <a href="#type-named_decl_info">named_decl_info</a> * <a href="#type-qual_type">qual_type</a> * <a href="#type-var_decl_info">var_decl_info</a></span></code></li><li id="type-decl.DecompositionDecl" class="def variant constructor anchored"><a href="#type-decl.DecompositionDecl" class="anchor"></a><code><span>| </span><span><span class="constructor">DecompositionDecl</span> <span class="keyword">of</span> <a href="#type-decl_info">decl_info</a>
                     * <a href="#type-named_decl_info">named_decl_info</a>
                     * <a href="#type-qual_type">qual_type</a>
                     * <a href="#type-var_decl_info">var_decl_info</a>
                     * <span><a href="#type-decl">decl</a> list</span></span></code></li><li id="type-decl.NonTypeTemplateParmDecl" class="def variant constructor anchored"><a href="#type-decl.NonTypeTemplateParmDecl" class="anchor"></a><code><span>| </span><span><span class="constructor">NonTypeTemplateParmDecl</span> <span class="keyword">of</span> <a href="#type-decl_info">decl_info</a> * <a href="#type-named_decl_info">named_decl_info</a> * <a href="#type-qual_type">qual_type</a></span></code></li><li id="type-decl.MSPropertyDecl" class="def variant constructor anchored"><a href="#type-decl.MSPropertyDecl" class="anchor"></a><code><span>| </span><span><span class="constructor">MSPropertyDecl</span> <span class="keyword">of</span> <a href="#type-decl_info">decl_info</a> * <a href="#type-named_decl_info">named_decl_info</a> * <a href="#type-qual_type">qual_type</a></span></code></li><li id="type-decl.FieldDecl" class="def variant constructor anchored"><a href="#type-decl.FieldDecl" class="anchor"></a><code><span>| </span><span><span class="constructor">FieldDecl</span> <span class="keyword">of</span> <a href="#type-decl_info">decl_info</a> * <a href="#type-named_decl_info">named_decl_info</a> * <a href="#type-qual_type">qual_type</a> * <a href="#type-field_decl_info">field_decl_info</a></span></code></li><li id="type-decl.ObjCIvarDecl" class="def variant constructor anchored"><a href="#type-decl.ObjCIvarDecl" class="anchor"></a><code><span>| </span><span><span class="constructor">ObjCIvarDecl</span> <span class="keyword">of</span> <a href="#type-decl_info">decl_info</a>
                * <a href="#type-named_decl_info">named_decl_info</a>
                * <a href="#type-qual_type">qual_type</a>
                * <a href="#type-field_decl_info">field_decl_info</a>
                * <a href="#type-obj_c_ivar_decl_info">obj_c_ivar_decl_info</a></span></code></li><li id="type-decl.ObjCAtDefsFieldDecl" class="def variant constructor anchored"><a href="#type-decl.ObjCAtDefsFieldDecl" class="anchor"></a><code><span>| </span><span><span class="constructor">ObjCAtDefsFieldDecl</span> <span class="keyword">of</span> <a href="#type-decl_info">decl_info</a>
                       * <a href="#type-named_decl_info">named_decl_info</a>
                       * <a href="#type-qual_type">qual_type</a>
                       * <a href="#type-field_decl_info">field_decl_info</a></span></code></li><li id="type-decl.BindingDecl" class="def variant constructor anchored"><a href="#type-decl.BindingDecl" class="anchor"></a><code><span>| </span><span><span class="constructor">BindingDecl</span> <span class="keyword">of</span> <a href="#type-decl_info">decl_info</a> * <a href="#type-named_decl_info">named_decl_info</a> * <a href="#type-qual_type">qual_type</a> * <a href="#type-holding_var_decl_info">holding_var_decl_info</a></span></code></li><li id="type-decl.UsingShadowDecl" class="def variant constructor anchored"><a href="#type-decl.UsingShadowDecl" class="anchor"></a><code><span>| </span><span><span class="constructor">UsingShadowDecl</span> <span class="keyword">of</span> <a href="#type-decl_info">decl_info</a> * <a href="#type-named_decl_info">named_decl_info</a></span></code></li><li id="type-decl.ConstructorUsingShadowDecl" class="def variant constructor anchored"><a href="#type-decl.ConstructorUsingShadowDecl" class="anchor"></a><code><span>| </span><span><span class="constructor">ConstructorUsingShadowDecl</span> <span class="keyword">of</span> <a href="#type-decl_info">decl_info</a> * <a href="#type-named_decl_info">named_decl_info</a></span></code></li><li id="type-decl.UsingPackDecl" class="def variant constructor anchored"><a href="#type-decl.UsingPackDecl" class="anchor"></a><code><span>| </span><span><span class="constructor">UsingPackDecl</span> <span class="keyword">of</span> <a href="#type-decl_info">decl_info</a> * <a href="#type-named_decl_info">named_decl_info</a></span></code></li><li id="type-decl.UsingDirectiveDecl" class="def variant constructor anchored"><a href="#type-decl.UsingDirectiveDecl" class="anchor"></a><code><span>| </span><span><span class="constructor">UsingDirectiveDecl</span> <span class="keyword">of</span> <a href="#type-decl_info">decl_info</a> * <a href="#type-named_decl_info">named_decl_info</a> * <a href="#type-using_directive_decl_info">using_directive_decl_info</a></span></code></li><li id="type-decl.UnresolvedUsingIfExistsDecl" class="def variant constructor anchored"><a href="#type-decl.UnresolvedUsingIfExistsDecl" class="anchor"></a><code><span>| </span><span><span class="constructor">UnresolvedUsingIfExistsDecl</span> <span class="keyword">of</span> <a href="#type-decl_info">decl_info</a> * <a href="#type-named_decl_info">named_decl_info</a></span></code></li><li id="type-decl.RecordDecl" class="def variant constructor anchored"><a href="#type-decl.RecordDecl" class="anchor"></a><code><span>| </span><span><span class="constructor">RecordDecl</span> <span class="keyword">of</span> <a href="#type-decl_info">decl_info</a>
              * <a href="#type-named_decl_info">named_decl_info</a>
              * <a href="#type-type_ptr">type_ptr</a>
              * <span><a href="#type-decl">decl</a> list</span>
              * <a href="#type-decl_context_info">decl_context_info</a>
              * <a href="#type-tag_kind">tag_kind</a>
              * <a href="#type-record_decl_info">record_decl_info</a></span></code></li><li id="type-decl.CXXRecordDecl" class="def variant constructor anchored"><a href="#type-decl.CXXRecordDecl" class="anchor"></a><code><span>| </span><span><span class="constructor">CXXRecordDecl</span> <span class="keyword">of</span> <a href="#type-decl_info">decl_info</a>
                 * <a href="#type-named_decl_info">named_decl_info</a>
                 * <a href="#type-type_ptr">type_ptr</a>
                 * <span><a href="#type-decl">decl</a> list</span>
                 * <a href="#type-decl_context_info">decl_context_info</a>
                 * <a href="#type-tag_kind">tag_kind</a>
                 * <a href="#type-record_decl_info">record_decl_info</a>
                 * <a href="#type-cxx_record_decl_info">cxx_record_decl_info</a></span></code></li><li id="type-decl.ClassTemplateSpecializationDecl" class="def variant constructor anchored"><a href="#type-decl.ClassTemplateSpecializationDecl" class="anchor"></a><code><span>| </span><span><span class="constructor">ClassTemplateSpecializationDecl</span> <span class="keyword">of</span> <a href="#type-decl_info">decl_info</a>
                                   * <a href="#type-named_decl_info">named_decl_info</a>
                                   * <a href="#type-type_ptr">type_ptr</a>
                                   * <span><a href="#type-decl">decl</a> list</span>
                                   * <a href="#type-decl_context_info">decl_context_info</a>
                                   * <a href="#type-tag_kind">tag_kind</a>
                                   * <a href="#type-record_decl_info">record_decl_info</a>
                                   * <a href="#type-cxx_record_decl_info">cxx_record_decl_info</a>
                                   * string
                                   * <a href="#type-source_location">source_location</a>
                                   * <a href="#type-template_specialization_info">template_specialization_info</a></span></code></li><li id="type-decl.ClassTemplatePartialSpecializationDecl" class="def variant constructor anchored"><a href="#type-decl.ClassTemplatePartialSpecializationDecl" class="anchor"></a><code><span>| </span><span><span class="constructor">ClassTemplatePartialSpecializationDecl</span> <span class="keyword">of</span> <a href="#type-decl_info">decl_info</a>
                                          * <a href="#type-named_decl_info">named_decl_info</a>
                                          * <a href="#type-type_ptr">type_ptr</a>
                                          * <span><a href="#type-decl">decl</a> list</span>
                                          * <a href="#type-decl_context_info">decl_context_info</a>
                                          * <a href="#type-tag_kind">tag_kind</a>
                                          * <a href="#type-record_decl_info">record_decl_info</a>
                                          * <a href="#type-cxx_record_decl_info">cxx_record_decl_info</a>
                                          * string
                                          * <a href="#type-source_location">source_location</a>
                                          * <a href="#type-template_specialization_info">template_specialization_info</a></span></code></li><li id="type-decl.EnumDecl" class="def variant constructor anchored"><a href="#type-decl.EnumDecl" class="anchor"></a><code><span>| </span><span><span class="constructor">EnumDecl</span> <span class="keyword">of</span> <a href="#type-decl_info">decl_info</a>
            * <a href="#type-named_decl_info">named_decl_info</a>
            * <a href="#type-type_ptr">type_ptr</a>
            * <span><a href="#type-decl">decl</a> list</span>
            * <a href="#type-decl_context_info">decl_context_info</a>
            * <a href="#type-tag_kind">tag_kind</a>
            * <a href="#type-enum_decl_info">enum_decl_info</a></span></code></li><li id="type-decl.UnresolvedUsingTypenameDecl" class="def variant constructor anchored"><a href="#type-decl.UnresolvedUsingTypenameDecl" class="anchor"></a><code><span>| </span><span><span class="constructor">UnresolvedUsingTypenameDecl</span> <span class="keyword">of</span> <a href="#type-decl_info">decl_info</a> * <a href="#type-named_decl_info">named_decl_info</a> * <a href="#type-type_ptr">type_ptr</a></span></code></li><li id="type-decl.TypedefDecl" class="def variant constructor anchored"><a href="#type-decl.TypedefDecl" class="anchor"></a><code><span>| </span><span><span class="constructor">TypedefDecl</span> <span class="keyword">of</span> <a href="#type-decl_info">decl_info</a> * <a href="#type-named_decl_info">named_decl_info</a> * <a href="#type-type_ptr">type_ptr</a> * <a href="#type-typedef_decl_info">typedef_decl_info</a></span></code></li><li id="type-decl.TypeAliasDecl" class="def variant constructor anchored"><a href="#type-decl.TypeAliasDecl" class="anchor"></a><code><span>| </span><span><span class="constructor">TypeAliasDecl</span> <span class="keyword">of</span> <a href="#type-decl_info">decl_info</a> * <a href="#type-named_decl_info">named_decl_info</a> * <a href="#type-type_ptr">type_ptr</a></span></code></li><li id="type-decl.ObjCTypeParamDecl" class="def variant constructor anchored"><a href="#type-decl.ObjCTypeParamDecl" class="anchor"></a><code><span>| </span><span><span class="constructor">ObjCTypeParamDecl</span> <span class="keyword">of</span> <a href="#type-decl_info">decl_info</a> * <a href="#type-named_decl_info">named_decl_info</a> * <a href="#type-type_ptr">type_ptr</a></span></code></li><li id="type-decl.TemplateTypeParmDecl" class="def variant constructor anchored"><a href="#type-decl.TemplateTypeParmDecl" class="anchor"></a><code><span>| </span><span><span class="constructor">TemplateTypeParmDecl</span> <span class="keyword">of</span> <a href="#type-decl_info">decl_info</a> * <a href="#type-named_decl_info">named_decl_info</a> * <a href="#type-type_ptr">type_ptr</a></span></code></li><li id="type-decl.TemplateTemplateParmDecl" class="def variant constructor anchored"><a href="#type-decl.TemplateTemplateParmDecl" class="anchor"></a><code><span>| </span><span><span class="constructor">TemplateTemplateParmDecl</span> <span class="keyword">of</span> <a href="#type-decl_info">decl_info</a> * <a href="#type-named_decl_info">named_decl_info</a></span></code></li><li id="type-decl.VarTemplateDecl" class="def variant constructor anchored"><a href="#type-decl.VarTemplateDecl" class="anchor"></a><code><span>| </span><span><span class="constructor">VarTemplateDecl</span> <span class="keyword">of</span> <a href="#type-decl_info">decl_info</a> * <a href="#type-named_decl_info">named_decl_info</a></span></code></li><li id="type-decl.TypeAliasTemplateDecl" class="def variant constructor anchored"><a href="#type-decl.TypeAliasTemplateDecl" class="anchor"></a><code><span>| </span><span><span class="constructor">TypeAliasTemplateDecl</span> <span class="keyword">of</span> <a href="#type-decl_info">decl_info</a> * <a href="#type-named_decl_info">named_decl_info</a></span></code></li><li id="type-decl.FunctionTemplateDecl" class="def variant constructor anchored"><a href="#type-decl.FunctionTemplateDecl" class="anchor"></a><code><span>| </span><span><span class="constructor">FunctionTemplateDecl</span> <span class="keyword">of</span> <a href="#type-decl_info">decl_info</a> * <a href="#type-named_decl_info">named_decl_info</a> * <a href="#type-template_decl_info">template_decl_info</a></span></code></li><li id="type-decl.ClassTemplateDecl" class="def variant constructor anchored"><a href="#type-decl.ClassTemplateDecl" class="anchor"></a><code><span>| </span><span><span class="constructor">ClassTemplateDecl</span> <span class="keyword">of</span> <a href="#type-decl_info">decl_info</a> * <a href="#type-named_decl_info">named_decl_info</a> * <a href="#type-template_decl_info">template_decl_info</a></span></code></li><li id="type-decl.ConceptDecl" class="def variant constructor anchored"><a href="#type-decl.ConceptDecl" class="anchor"></a><code><span>| </span><span><span class="constructor">ConceptDecl</span> <span class="keyword">of</span> <a href="#type-decl_info">decl_info</a> * <a href="#type-named_decl_info">named_decl_info</a></span></code></li><li id="type-decl.BuiltinTemplateDecl" class="def variant constructor anchored"><a href="#type-decl.BuiltinTemplateDecl" class="anchor"></a><code><span>| </span><span><span class="constructor">BuiltinTemplateDecl</span> <span class="keyword">of</span> <a href="#type-decl_info">decl_info</a> * <a href="#type-named_decl_info">named_decl_info</a></span></code></li><li id="type-decl.ObjCPropertyDecl" class="def variant constructor anchored"><a href="#type-decl.ObjCPropertyDecl" class="anchor"></a><code><span>| </span><span><span class="constructor">ObjCPropertyDecl</span> <span class="keyword">of</span> <a href="#type-decl_info">decl_info</a> * <a href="#type-named_decl_info">named_decl_info</a> * <a href="#type-obj_c_property_decl_info">obj_c_property_decl_info</a></span></code></li><li id="type-decl.ObjCCompatibleAliasDecl" class="def variant constructor anchored"><a href="#type-decl.ObjCCompatibleAliasDecl" class="anchor"></a><code><span>| </span><span><span class="constructor">ObjCCompatibleAliasDecl</span> <span class="keyword">of</span> <a href="#type-decl_info">decl_info</a>
                           * <a href="#type-named_decl_info">named_decl_info</a>
                           * <a href="#type-obj_c_compatible_alias_decl_info">obj_c_compatible_alias_decl_info</a></span></code></li><li id="type-decl.NamespaceAliasDecl" class="def variant constructor anchored"><a href="#type-decl.NamespaceAliasDecl" class="anchor"></a><code><span>| </span><span><span class="constructor">NamespaceAliasDecl</span> <span class="keyword">of</span> <a href="#type-decl_info">decl_info</a> * <a href="#type-named_decl_info">named_decl_info</a> * <a href="#type-namespace_alias_decl_info">namespace_alias_decl_info</a></span></code></li><li id="type-decl.LabelDecl" class="def variant constructor anchored"><a href="#type-decl.LabelDecl" class="anchor"></a><code><span>| </span><span><span class="constructor">LabelDecl</span> <span class="keyword">of</span> <a href="#type-decl_info">decl_info</a> * <a href="#type-named_decl_info">named_decl_info</a></span></code></li><li id="type-decl.UsingEnumDecl" class="def variant constructor anchored"><a href="#type-decl.UsingEnumDecl" class="anchor"></a><code><span>| </span><span><span class="constructor">UsingEnumDecl</span> <span class="keyword">of</span> <a href="#type-decl_info">decl_info</a> * <a href="#type-named_decl_info">named_decl_info</a></span></code></li><li id="type-decl.UsingDecl" class="def variant constructor anchored"><a href="#type-decl.UsingDecl" class="anchor"></a><code><span>| </span><span><span class="constructor">UsingDecl</span> <span class="keyword">of</span> <a href="#type-decl_info">decl_info</a> * <a href="#type-named_decl_info">named_decl_info</a></span></code></li><li id="type-decl.LifetimeExtendedTemporaryDecl" class="def variant constructor anchored"><a href="#type-decl.LifetimeExtendedTemporaryDecl" class="anchor"></a><code><span>| </span><span><span class="constructor">LifetimeExtendedTemporaryDecl</span> <span class="keyword">of</span> <a href="#type-decl_info">decl_info</a></span></code></li><li id="type-decl.ImportDecl" class="def variant constructor anchored"><a href="#type-decl.ImportDecl" class="anchor"></a><code><span>| </span><span><span class="constructor">ImportDecl</span> <span class="keyword">of</span> <a href="#type-decl_info">decl_info</a> * string</span></code></li><li id="type-decl.ImplicitConceptSpecializationDecl" class="def variant constructor anchored"><a href="#type-decl.ImplicitConceptSpecializationDecl" class="anchor"></a><code><span>| </span><span><span class="constructor">ImplicitConceptSpecializationDecl</span> <span class="keyword">of</span> <a href="#type-decl_info">decl_info</a></span></code></li><li id="type-decl.FriendTemplateDecl" class="def variant constructor anchored"><a href="#type-decl.FriendTemplateDecl" class="anchor"></a><code><span>| </span><span><span class="constructor">FriendTemplateDecl</span> <span class="keyword">of</span> <a href="#type-decl_info">decl_info</a></span></code></li><li id="type-decl.FriendDecl" class="def variant constructor anchored"><a href="#type-decl.FriendDecl" class="anchor"></a><code><span>| </span><span><span class="constructor">FriendDecl</span> <span class="keyword">of</span> <a href="#type-decl_info">decl_info</a> * <a href="#type-friend_info">friend_info</a></span></code></li><li id="type-decl.FileScopeAsmDecl" class="def variant constructor anchored"><a href="#type-decl.FileScopeAsmDecl" class="anchor"></a><code><span>| </span><span><span class="constructor">FileScopeAsmDecl</span> <span class="keyword">of</span> <a href="#type-decl_info">decl_info</a></span></code></li><li id="type-decl.EmptyDecl" class="def variant constructor anchored"><a href="#type-decl.EmptyDecl" class="anchor"></a><code><span>| </span><span><span class="constructor">EmptyDecl</span> <span class="keyword">of</span> <a href="#type-decl_info">decl_info</a></span></code></li><li id="type-decl.AccessSpecDecl" class="def variant constructor anchored"><a href="#type-decl.AccessSpecDecl" class="anchor"></a><code><span>| </span><span><span class="constructor">AccessSpecDecl</span> <span class="keyword">of</span> <a href="#type-decl_info">decl_info</a></span></code></li></ol></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-enum_constant_decl_info"><a href="#type-enum_constant_decl_info" class="anchor"></a><code><span><span class="keyword">and</span> enum_constant_decl_info</span><span> = </span><span>{</span></code><ol><li id="type-enum_constant_decl_info.ecdi_init_expr" class="def record field anchored"><a href="#type-enum_constant_decl_info.ecdi_init_expr" class="anchor"></a><code><span>ecdi_init_expr : <span><a href="#type-stmt">stmt</a> option</span>;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-field_decl_info"><a href="#type-field_decl_info" class="anchor"></a><code><span><span class="keyword">and</span> field_decl_info</span><span> = </span><span>{</span></code><ol><li id="type-field_decl_info.fldi_is_mutable" class="def record field anchored"><a href="#type-field_decl_info.fldi_is_mutable" class="anchor"></a><code><span>fldi_is_mutable : bool;</span></code></li><li id="type-field_decl_info.fldi_is_module_private" class="def record field anchored"><a href="#type-field_decl_info.fldi_is_module_private" class="anchor"></a><code><span>fldi_is_module_private : bool;</span></code></li><li id="type-field_decl_info.fldi_init_expr" class="def record field anchored"><a href="#type-field_decl_info.fldi_init_expr" class="anchor"></a><code><span>fldi_init_expr : <span><a href="#type-stmt">stmt</a> option</span>;</span></code></li><li id="type-field_decl_info.fldi_bit_width_expr" class="def record field anchored"><a href="#type-field_decl_info.fldi_bit_width_expr" class="anchor"></a><code><span>fldi_bit_width_expr : <span><a href="#type-stmt">stmt</a> option</span>;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-friend_info"><a href="#type-friend_info" class="anchor"></a><code><span><span class="keyword">and</span> friend_info</span><span> = </span><span>[ </span></code><ol><li id="type-friend_info.Type" class="def variant constructor anchored"><a href="#type-friend_info.Type" class="anchor"></a><code><span>| </span><span>`Type <span class="keyword">of</span> <a href="#type-type_ptr">type_ptr</a></span></code></li><li id="type-friend_info.Decl" class="def variant constructor anchored"><a href="#type-friend_info.Decl" class="anchor"></a><code><span>| </span><span>`Decl <span class="keyword">of</span> <a href="#type-decl">decl</a></span></code></li></ol><code><span> ]</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-function_decl_info"><a href="#type-function_decl_info" class="anchor"></a><code><span><span class="keyword">and</span> function_decl_info</span><span> = </span><span>{</span></code><ol><li id="type-function_decl_info.fdi_mangled_name" class="def record field anchored"><a href="#type-function_decl_info.fdi_mangled_name" class="anchor"></a><code><span>fdi_mangled_name : <span>string option</span>;</span></code></li><li id="type-function_decl_info.fdi_is_cpp" class="def record field anchored"><a href="#type-function_decl_info.fdi_is_cpp" class="anchor"></a><code><span>fdi_is_cpp : bool;</span></code></li><li id="type-function_decl_info.fdi_is_inline" class="def record field anchored"><a href="#type-function_decl_info.fdi_is_inline" class="anchor"></a><code><span>fdi_is_inline : bool;</span></code></li><li id="type-function_decl_info.fdi_is_module_private" class="def record field anchored"><a href="#type-function_decl_info.fdi_is_module_private" class="anchor"></a><code><span>fdi_is_module_private : bool;</span></code></li><li id="type-function_decl_info.fdi_is_pure" class="def record field anchored"><a href="#type-function_decl_info.fdi_is_pure" class="anchor"></a><code><span>fdi_is_pure : bool;</span></code></li><li id="type-function_decl_info.fdi_is_deleted" class="def record field anchored"><a href="#type-function_decl_info.fdi_is_deleted" class="anchor"></a><code><span>fdi_is_deleted : bool;</span></code></li><li id="type-function_decl_info.fdi_is_no_return" class="def record field anchored"><a href="#type-function_decl_info.fdi_is_no_return" class="anchor"></a><code><span>fdi_is_no_return : bool;</span></code></li><li id="type-function_decl_info.fdi_is_constexpr" class="def record field anchored"><a href="#type-function_decl_info.fdi_is_constexpr" class="anchor"></a><code><span>fdi_is_constexpr : bool;</span></code></li><li id="type-function_decl_info.fdi_is_variadic" class="def record field anchored"><a href="#type-function_decl_info.fdi_is_variadic" class="anchor"></a><code><span>fdi_is_variadic : bool;</span></code></li><li id="type-function_decl_info.fdi_is_static" class="def record field anchored"><a href="#type-function_decl_info.fdi_is_static" class="anchor"></a><code><span>fdi_is_static : bool;</span></code></li><li id="type-function_decl_info.fdi_parameters" class="def record field anchored"><a href="#type-function_decl_info.fdi_parameters" class="anchor"></a><code><span>fdi_parameters : <span><a href="#type-decl">decl</a> list</span>;</span></code></li><li id="type-function_decl_info.fdi_decl_ptr_with_body" class="def record field anchored"><a href="#type-function_decl_info.fdi_decl_ptr_with_body" class="anchor"></a><code><span>fdi_decl_ptr_with_body : <span><a href="#type-pointer">pointer</a> option</span>;</span></code></li><li id="type-function_decl_info.fdi_body" class="def record field anchored"><a href="#type-function_decl_info.fdi_body" class="anchor"></a><code><span>fdi_body : <span><a href="#type-stmt">stmt</a> option</span>;</span></code></li><li id="type-function_decl_info.fdi_template_specialization" class="def record field anchored"><a href="#type-function_decl_info.fdi_template_specialization" class="anchor"></a><code><span>fdi_template_specialization : <span><a href="#type-template_specialization_info">template_specialization_info</a> option</span>;</span></code></li><li id="type-function_decl_info.fdi_point_of_instantiation" class="def record field anchored"><a href="#type-function_decl_info.fdi_point_of_instantiation" class="anchor"></a><code><span>fdi_point_of_instantiation : <span><a href="#type-source_location">source_location</a> option</span>;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-generic_selection_info"><a href="#type-generic_selection_info" class="anchor"></a><code><span><span class="keyword">and</span> generic_selection_info</span><span> = </span><span>{</span></code><ol><li id="type-generic_selection_info.gse_value" class="def record field anchored"><a href="#type-generic_selection_info.gse_value" class="anchor"></a><code><span>gse_value : <span><a href="#type-stmt">stmt</a> option</span>;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-holding_var_decl_info"><a href="#type-holding_var_decl_info" class="anchor"></a><code><span><span class="keyword">and</span> holding_var_decl_info</span><span> = </span><span>{</span></code><ol><li id="type-holding_var_decl_info.hvdi_binding_var" class="def record field anchored"><a href="#type-holding_var_decl_info.hvdi_binding_var" class="anchor"></a><code><span>hvdi_binding_var : <span><a href="#type-var_decl_info">var_decl_info</a> option</span>;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-if_stmt_info"><a href="#type-if_stmt_info" class="anchor"></a><code><span><span class="keyword">and</span> if_stmt_info</span><span> = </span><span>{</span></code><ol><li id="type-if_stmt_info.isi_init" class="def record field anchored"><a href="#type-if_stmt_info.isi_init" class="anchor"></a><code><span>isi_init : <span><a href="#type-pointer">pointer</a> option</span>;</span></code></li><li id="type-if_stmt_info.isi_cond_var" class="def record field anchored"><a href="#type-if_stmt_info.isi_cond_var" class="anchor"></a><code><span>isi_cond_var : <span><a href="#type-stmt">stmt</a> option</span>;</span></code></li><li id="type-if_stmt_info.isi_cond" class="def record field anchored"><a href="#type-if_stmt_info.isi_cond" class="anchor"></a><code><span>isi_cond : <a href="#type-pointer">pointer</a>;</span></code></li><li id="type-if_stmt_info.isi_then" class="def record field anchored"><a href="#type-if_stmt_info.isi_then" class="anchor"></a><code><span>isi_then : <a href="#type-pointer">pointer</a>;</span></code></li><li id="type-if_stmt_info.isi_else" class="def record field anchored"><a href="#type-if_stmt_info.isi_else" class="anchor"></a><code><span>isi_else : <span><span>(<a href="#type-pointer">pointer</a> * <a href="#type-source_location">source_location</a>)</span> option</span>;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-lambda_capture_info"><a href="#type-lambda_capture_info" class="anchor"></a><code><span><span class="keyword">and</span> lambda_capture_info</span><span> = </span><span>{</span></code><ol><li id="type-lambda_capture_info.lci_capture_kind" class="def record field anchored"><a href="#type-lambda_capture_info.lci_capture_kind" class="anchor"></a><code><span>lci_capture_kind : <a href="#type-lambda_capture_kind">lambda_capture_kind</a>;</span></code></li><li id="type-lambda_capture_info.lci_capture_this" class="def record field anchored"><a href="#type-lambda_capture_info.lci_capture_this" class="anchor"></a><code><span>lci_capture_this : bool;</span></code></li><li id="type-lambda_capture_info.lci_capture_variable" class="def record field anchored"><a href="#type-lambda_capture_info.lci_capture_variable" class="anchor"></a><code><span>lci_capture_variable : bool;</span></code></li><li id="type-lambda_capture_info.lci_capture_VLAtype" class="def record field anchored"><a href="#type-lambda_capture_info.lci_capture_VLAtype" class="anchor"></a><code><span>lci_capture_VLAtype : bool;</span></code></li><li id="type-lambda_capture_info.lci_init_captured_vardecl" class="def record field anchored"><a href="#type-lambda_capture_info.lci_init_captured_vardecl" class="anchor"></a><code><span>lci_init_captured_vardecl : <span><a href="#type-decl">decl</a> option</span>;</span></code></li><li id="type-lambda_capture_info.lci_captured_var" class="def record field anchored"><a href="#type-lambda_capture_info.lci_captured_var" class="anchor"></a><code><span>lci_captured_var : <span><a href="#type-decl_ref">decl_ref</a> option</span>;</span></code></li><li id="type-lambda_capture_info.lci_is_implicit" class="def record field anchored"><a href="#type-lambda_capture_info.lci_is_implicit" class="anchor"></a><code><span>lci_is_implicit : bool;</span></code></li><li id="type-lambda_capture_info.lci_location" class="def record field anchored"><a href="#type-lambda_capture_info.lci_location" class="anchor"></a><code><span>lci_location : <a href="#type-source_range">source_range</a>;</span></code></li><li id="type-lambda_capture_info.lci_is_pack_expansion" class="def record field anchored"><a href="#type-lambda_capture_info.lci_is_pack_expansion" class="anchor"></a><code><span>lci_is_pack_expansion : bool;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-lambda_expr_info"><a href="#type-lambda_expr_info" class="anchor"></a><code><span><span class="keyword">and</span> lambda_expr_info</span><span> = </span><span>{</span></code><ol><li id="type-lambda_expr_info.lei_lambda_decl" class="def record field anchored"><a href="#type-lambda_expr_info.lei_lambda_decl" class="anchor"></a><code><span>lei_lambda_decl : <a href="#type-decl">decl</a>;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-obj_c_implementation_decl_info"><a href="#type-obj_c_implementation_decl_info" class="anchor"></a><code><span><span class="keyword">and</span> obj_c_implementation_decl_info</span><span> = </span><span>{</span></code><ol><li id="type-obj_c_implementation_decl_info.oidi_super" class="def record field anchored"><a href="#type-obj_c_implementation_decl_info.oidi_super" class="anchor"></a><code><span>oidi_super : <span><a href="#type-decl_ref">decl_ref</a> option</span>;</span></code></li><li id="type-obj_c_implementation_decl_info.oidi_class_interface" class="def record field anchored"><a href="#type-obj_c_implementation_decl_info.oidi_class_interface" class="anchor"></a><code><span>oidi_class_interface : <span><a href="#type-decl_ref">decl_ref</a> option</span>;</span></code></li><li id="type-obj_c_implementation_decl_info.oidi_ivar_initializers" class="def record field anchored"><a href="#type-obj_c_implementation_decl_info.oidi_ivar_initializers" class="anchor"></a><code><span>oidi_ivar_initializers : <span><a href="#type-cxx_ctor_initializer">cxx_ctor_initializer</a> list</span>;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-obj_c_message_expr_kind"><a href="#type-obj_c_message_expr_kind" class="anchor"></a><code><span><span class="keyword">and</span> obj_c_message_expr_kind</span><span> = </span><span>[ </span></code><ol><li id="type-obj_c_message_expr_kind.CatchParam" class="def variant constructor anchored"><a href="#type-obj_c_message_expr_kind.CatchParam" class="anchor"></a><code><span>| </span><span>`CatchParam <span class="keyword">of</span> <a href="#type-decl">decl</a></span></code></li><li id="type-obj_c_message_expr_kind.CatchAll" class="def variant constructor anchored"><a href="#type-obj_c_message_expr_kind.CatchAll" class="anchor"></a><code><span>| </span><span>`CatchAll</span></code></li></ol><code><span> ]</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-obj_c_method_decl_info"><a href="#type-obj_c_method_decl_info" class="anchor"></a><code><span><span class="keyword">and</span> obj_c_method_decl_info</span><span> = </span><span>{</span></code><ol><li id="type-obj_c_method_decl_info.omdi_is_instance_method" class="def record field anchored"><a href="#type-obj_c_method_decl_info.omdi_is_instance_method" class="anchor"></a><code><span>omdi_is_instance_method : bool;</span></code></li><li id="type-obj_c_method_decl_info.omdi_result_type" class="def record field anchored"><a href="#type-obj_c_method_decl_info.omdi_result_type" class="anchor"></a><code><span>omdi_result_type : <a href="#type-qual_type">qual_type</a>;</span></code></li><li id="type-obj_c_method_decl_info.omdi_is_property_accessor" class="def record field anchored"><a href="#type-obj_c_method_decl_info.omdi_is_property_accessor" class="anchor"></a><code><span>omdi_is_property_accessor : bool;</span></code></li><li id="type-obj_c_method_decl_info.omdi_property_decl" class="def record field anchored"><a href="#type-obj_c_method_decl_info.omdi_property_decl" class="anchor"></a><code><span>omdi_property_decl : <span><a href="#type-decl_ref">decl_ref</a> option</span>;</span></code></li><li id="type-obj_c_method_decl_info.omdi_parameters" class="def record field anchored"><a href="#type-obj_c_method_decl_info.omdi_parameters" class="anchor"></a><code><span>omdi_parameters : <span><a href="#type-decl">decl</a> list</span>;</span></code></li><li id="type-obj_c_method_decl_info.omdi_implicit_parameters" class="def record field anchored"><a href="#type-obj_c_method_decl_info.omdi_implicit_parameters" class="anchor"></a><code><span>omdi_implicit_parameters : <span><a href="#type-decl">decl</a> list</span>;</span></code></li><li id="type-obj_c_method_decl_info.omdi_is_variadic" class="def record field anchored"><a href="#type-obj_c_method_decl_info.omdi_is_variadic" class="anchor"></a><code><span>omdi_is_variadic : bool;</span></code></li><li id="type-obj_c_method_decl_info.omdi_is_overriding" class="def record field anchored"><a href="#type-obj_c_method_decl_info.omdi_is_overriding" class="anchor"></a><code><span>omdi_is_overriding : bool;</span></code></li><li id="type-obj_c_method_decl_info.omdi_is_optional" class="def record field anchored"><a href="#type-obj_c_method_decl_info.omdi_is_optional" class="anchor"></a><code><span>omdi_is_optional : bool;</span></code></li><li id="type-obj_c_method_decl_info.omdi_body" class="def record field anchored"><a href="#type-obj_c_method_decl_info.omdi_body" class="anchor"></a><code><span>omdi_body : <span><a href="#type-stmt">stmt</a> option</span>;</span></code></li><li id="type-obj_c_method_decl_info.omdi_mangled_name" class="def record field anchored"><a href="#type-obj_c_method_decl_info.omdi_mangled_name" class="anchor"></a><code><span>omdi_mangled_name : string;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-opaque_value_expr_info"><a href="#type-opaque_value_expr_info" class="anchor"></a><code><span><span class="keyword">and</span> opaque_value_expr_info</span><span> = </span><span>{</span></code><ol><li id="type-opaque_value_expr_info.ovei_source_expr" class="def record field anchored"><a href="#type-opaque_value_expr_info.ovei_source_expr" class="anchor"></a><code><span>ovei_source_expr : <span><a href="#type-stmt">stmt</a> option</span>;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-stmt"><a href="#type-stmt" class="anchor"></a><code><span><span class="keyword">and</span> stmt</span><span> = </span></code><ol><li id="type-stmt.WhileStmt" class="def variant constructor anchored"><a href="#type-stmt.WhileStmt" class="anchor"></a><code><span>| </span><span><span class="constructor">WhileStmt</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.LabelStmt" class="def variant constructor anchored"><a href="#type-stmt.LabelStmt" class="anchor"></a><code><span>| </span><span><span class="constructor">LabelStmt</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * string</span></code></li><li id="type-stmt.VAArgExpr" class="def variant constructor anchored"><a href="#type-stmt.VAArgExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">VAArgExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a></span></code></li><li id="type-stmt.UnaryOperator" class="def variant constructor anchored"><a href="#type-stmt.UnaryOperator" class="anchor"></a><code><span>| </span><span><span class="constructor">UnaryOperator</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a> * <a href="#type-unary_operator_info">unary_operator_info</a></span></code></li><li id="type-stmt.UnaryExprOrTypeTraitExpr" class="def variant constructor anchored"><a href="#type-stmt.UnaryExprOrTypeTraitExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">UnaryExprOrTypeTraitExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a>
                            * <span><a href="#type-stmt">stmt</a> list</span>
                            * <a href="#type-expr_info">expr_info</a>
                            * <a href="#type-unary_expr_or_type_trait_expr_info">unary_expr_or_type_trait_expr_info</a></span></code></li><li id="type-stmt.TypoExpr" class="def variant constructor anchored"><a href="#type-stmt.TypoExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">TypoExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a></span></code></li><li id="type-stmt.TypeTraitExpr" class="def variant constructor anchored"><a href="#type-stmt.TypeTraitExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">TypeTraitExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a> * <a href="#type-type_trait_info">type_trait_info</a></span></code></li><li id="type-stmt.SubstNonTypeTemplateParmPackExpr" class="def variant constructor anchored"><a href="#type-stmt.SubstNonTypeTemplateParmPackExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">SubstNonTypeTemplateParmPackExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a></span></code></li><li id="type-stmt.SubstNonTypeTemplateParmExpr" class="def variant constructor anchored"><a href="#type-stmt.SubstNonTypeTemplateParmExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">SubstNonTypeTemplateParmExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a></span></code></li><li id="type-stmt.StringLiteral" class="def variant constructor anchored"><a href="#type-stmt.StringLiteral" class="anchor"></a><code><span>| </span><span><span class="constructor">StringLiteral</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a> * <span>string list</span></span></code></li><li id="type-stmt.StmtExpr" class="def variant constructor anchored"><a href="#type-stmt.StmtExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">StmtExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a></span></code></li><li id="type-stmt.SourceLocExpr" class="def variant constructor anchored"><a href="#type-stmt.SourceLocExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">SourceLocExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a></span></code></li><li id="type-stmt.SizeOfPackExpr" class="def variant constructor anchored"><a href="#type-stmt.SizeOfPackExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">SizeOfPackExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a></span></code></li><li id="type-stmt.ShuffleVectorExpr" class="def variant constructor anchored"><a href="#type-stmt.ShuffleVectorExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">ShuffleVectorExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a></span></code></li><li id="type-stmt.SYCLUniqueStableNameExpr" class="def variant constructor anchored"><a href="#type-stmt.SYCLUniqueStableNameExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">SYCLUniqueStableNameExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a></span></code></li><li id="type-stmt.RequiresExpr" class="def variant constructor anchored"><a href="#type-stmt.RequiresExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">RequiresExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a></span></code></li><li id="type-stmt.RecoveryExpr" class="def variant constructor anchored"><a href="#type-stmt.RecoveryExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">RecoveryExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a></span></code></li><li id="type-stmt.PseudoObjectExpr" class="def variant constructor anchored"><a href="#type-stmt.PseudoObjectExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">PseudoObjectExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a></span></code></li><li id="type-stmt.PredefinedExpr" class="def variant constructor anchored"><a href="#type-stmt.PredefinedExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">PredefinedExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a> * <a href="#type-predefined_expr_type">predefined_expr_type</a></span></code></li><li id="type-stmt.ParenListExpr" class="def variant constructor anchored"><a href="#type-stmt.ParenListExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">ParenListExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a></span></code></li><li id="type-stmt.ParenExpr" class="def variant constructor anchored"><a href="#type-stmt.ParenExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">ParenExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a></span></code></li><li id="type-stmt.PackExpansionExpr" class="def variant constructor anchored"><a href="#type-stmt.PackExpansionExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">PackExpansionExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a></span></code></li><li id="type-stmt.UnresolvedMemberExpr" class="def variant constructor anchored"><a href="#type-stmt.UnresolvedMemberExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">UnresolvedMemberExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a> * <a href="#type-overload_expr_info">overload_expr_info</a></span></code></li><li id="type-stmt.UnresolvedLookupExpr" class="def variant constructor anchored"><a href="#type-stmt.UnresolvedLookupExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">UnresolvedLookupExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a>
                        * <span><a href="#type-stmt">stmt</a> list</span>
                        * <a href="#type-expr_info">expr_info</a>
                        * <a href="#type-overload_expr_info">overload_expr_info</a>
                        * <a href="#type-unresolved_lookup_expr_info">unresolved_lookup_expr_info</a></span></code></li><li id="type-stmt.OpaqueValueExpr" class="def variant constructor anchored"><a href="#type-stmt.OpaqueValueExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">OpaqueValueExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a> * <a href="#type-opaque_value_expr_info">opaque_value_expr_info</a></span></code></li><li id="type-stmt.OffsetOfExpr" class="def variant constructor anchored"><a href="#type-stmt.OffsetOfExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">OffsetOfExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a> * <a href="#type-offset_of_expr_info">offset_of_expr_info</a></span></code></li><li id="type-stmt.ObjCSubscriptRefExpr" class="def variant constructor anchored"><a href="#type-stmt.ObjCSubscriptRefExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">ObjCSubscriptRefExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a>
                        * <span><a href="#type-stmt">stmt</a> list</span>
                        * <a href="#type-expr_info">expr_info</a>
                        * <a href="#type-obj_c_subscript_ref_expr_info">obj_c_subscript_ref_expr_info</a></span></code></li><li id="type-stmt.ObjCStringLiteral" class="def variant constructor anchored"><a href="#type-stmt.ObjCStringLiteral" class="anchor"></a><code><span>| </span><span><span class="constructor">ObjCStringLiteral</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a></span></code></li><li id="type-stmt.ObjCSelectorExpr" class="def variant constructor anchored"><a href="#type-stmt.ObjCSelectorExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">ObjCSelectorExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a> * <a href="#type-selector">selector</a></span></code></li><li id="type-stmt.ObjCProtocolExpr" class="def variant constructor anchored"><a href="#type-stmt.ObjCProtocolExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">ObjCProtocolExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a> * <a href="#type-decl_ref">decl_ref</a></span></code></li><li id="type-stmt.ObjCPropertyRefExpr" class="def variant constructor anchored"><a href="#type-stmt.ObjCPropertyRefExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">ObjCPropertyRefExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a>
                       * <span><a href="#type-stmt">stmt</a> list</span>
                       * <a href="#type-expr_info">expr_info</a>
                       * <a href="#type-obj_c_property_ref_expr_info">obj_c_property_ref_expr_info</a></span></code></li><li id="type-stmt.ObjCMessageExpr" class="def variant constructor anchored"><a href="#type-stmt.ObjCMessageExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">ObjCMessageExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a> * <a href="#type-obj_c_message_expr_info">obj_c_message_expr_info</a></span></code></li><li id="type-stmt.ObjCIvarRefExpr" class="def variant constructor anchored"><a href="#type-stmt.ObjCIvarRefExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">ObjCIvarRefExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a> * <a href="#type-obj_c_ivar_ref_expr_info">obj_c_ivar_ref_expr_info</a></span></code></li><li id="type-stmt.ObjCIsaExpr" class="def variant constructor anchored"><a href="#type-stmt.ObjCIsaExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">ObjCIsaExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a></span></code></li><li id="type-stmt.ObjCIndirectCopyRestoreExpr" class="def variant constructor anchored"><a href="#type-stmt.ObjCIndirectCopyRestoreExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">ObjCIndirectCopyRestoreExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a></span></code></li><li id="type-stmt.ObjCEncodeExpr" class="def variant constructor anchored"><a href="#type-stmt.ObjCEncodeExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">ObjCEncodeExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a> * <a href="#type-objc_encode_expr_info">objc_encode_expr_info</a></span></code></li><li id="type-stmt.ObjCDictionaryLiteral" class="def variant constructor anchored"><a href="#type-stmt.ObjCDictionaryLiteral" class="anchor"></a><code><span>| </span><span><span class="constructor">ObjCDictionaryLiteral</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a>
                         * <span><a href="#type-stmt">stmt</a> list</span>
                         * <a href="#type-expr_info">expr_info</a>
                         * <a href="#type-obj_c_dictionary_literal_expr_info">obj_c_dictionary_literal_expr_info</a></span></code></li><li id="type-stmt.ObjCBoxedExpr" class="def variant constructor anchored"><a href="#type-stmt.ObjCBoxedExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">ObjCBoxedExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a> * <a href="#type-objc_boxed_expr_info">objc_boxed_expr_info</a></span></code></li><li id="type-stmt.ObjCBoolLiteralExpr" class="def variant constructor anchored"><a href="#type-stmt.ObjCBoolLiteralExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">ObjCBoolLiteralExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a> * int</span></code></li><li id="type-stmt.ObjCAvailabilityCheckExpr" class="def variant constructor anchored"><a href="#type-stmt.ObjCAvailabilityCheckExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">ObjCAvailabilityCheckExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a>
                             * <span><a href="#type-stmt">stmt</a> list</span>
                             * <a href="#type-expr_info">expr_info</a>
                             * <a href="#type-obj_c_availability_check_expr_info">obj_c_availability_check_expr_info</a></span></code></li><li id="type-stmt.ObjCArrayLiteral" class="def variant constructor anchored"><a href="#type-stmt.ObjCArrayLiteral" class="anchor"></a><code><span>| </span><span><span class="constructor">ObjCArrayLiteral</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a>
                    * <span><a href="#type-stmt">stmt</a> list</span>
                    * <a href="#type-expr_info">expr_info</a>
                    * <a href="#type-obj_c_array_literal_expr_info">obj_c_array_literal_expr_info</a></span></code></li><li id="type-stmt.OMPIteratorExpr" class="def variant constructor anchored"><a href="#type-stmt.OMPIteratorExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">OMPIteratorExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a></span></code></li><li id="type-stmt.OMPArrayShapingExpr" class="def variant constructor anchored"><a href="#type-stmt.OMPArrayShapingExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">OMPArrayShapingExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a></span></code></li><li id="type-stmt.OMPArraySectionExpr" class="def variant constructor anchored"><a href="#type-stmt.OMPArraySectionExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">OMPArraySectionExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a></span></code></li><li id="type-stmt.NoInitExpr" class="def variant constructor anchored"><a href="#type-stmt.NoInitExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">NoInitExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a></span></code></li><li id="type-stmt.MemberExpr" class="def variant constructor anchored"><a href="#type-stmt.MemberExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">MemberExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a> * <a href="#type-member_expr_info">member_expr_info</a></span></code></li><li id="type-stmt.MatrixSubscriptExpr" class="def variant constructor anchored"><a href="#type-stmt.MatrixSubscriptExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">MatrixSubscriptExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a></span></code></li><li id="type-stmt.MaterializeTemporaryExpr" class="def variant constructor anchored"><a href="#type-stmt.MaterializeTemporaryExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">MaterializeTemporaryExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a>
                            * <span><a href="#type-stmt">stmt</a> list</span>
                            * <a href="#type-expr_info">expr_info</a>
                            * <a href="#type-materialize_temporary_expr_info">materialize_temporary_expr_info</a></span></code></li><li id="type-stmt.MSPropertySubscriptExpr" class="def variant constructor anchored"><a href="#type-stmt.MSPropertySubscriptExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">MSPropertySubscriptExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a></span></code></li><li id="type-stmt.MSPropertyRefExpr" class="def variant constructor anchored"><a href="#type-stmt.MSPropertyRefExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">MSPropertyRefExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a></span></code></li><li id="type-stmt.LambdaExpr" class="def variant constructor anchored"><a href="#type-stmt.LambdaExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">LambdaExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a> * <a href="#type-lambda_expr_info">lambda_expr_info</a></span></code></li><li id="type-stmt.IntegerLiteral" class="def variant constructor anchored"><a href="#type-stmt.IntegerLiteral" class="anchor"></a><code><span>| </span><span><span class="constructor">IntegerLiteral</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a> * <a href="#type-integer_literal_info">integer_literal_info</a></span></code></li><li id="type-stmt.InitListExpr" class="def variant constructor anchored"><a href="#type-stmt.InitListExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">InitListExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a></span></code></li><li id="type-stmt.ImplicitValueInitExpr" class="def variant constructor anchored"><a href="#type-stmt.ImplicitValueInitExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">ImplicitValueInitExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a></span></code></li><li id="type-stmt.ImaginaryLiteral" class="def variant constructor anchored"><a href="#type-stmt.ImaginaryLiteral" class="anchor"></a><code><span>| </span><span><span class="constructor">ImaginaryLiteral</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a></span></code></li><li id="type-stmt.GenericSelectionExpr" class="def variant constructor anchored"><a href="#type-stmt.GenericSelectionExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">GenericSelectionExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a>
                        * <span><a href="#type-stmt">stmt</a> list</span>
                        * <a href="#type-expr_info">expr_info</a>
                        * <a href="#type-generic_selection_info">generic_selection_info</a></span></code></li><li id="type-stmt.GNUNullExpr" class="def variant constructor anchored"><a href="#type-stmt.GNUNullExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">GNUNullExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a></span></code></li><li id="type-stmt.FunctionParmPackExpr" class="def variant constructor anchored"><a href="#type-stmt.FunctionParmPackExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">FunctionParmPackExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a></span></code></li><li id="type-stmt.ExprWithCleanups" class="def variant constructor anchored"><a href="#type-stmt.ExprWithCleanups" class="anchor"></a><code><span>| </span><span><span class="constructor">ExprWithCleanups</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a> * <a href="#type-expr_with_cleanups_info">expr_with_cleanups_info</a></span></code></li><li id="type-stmt.ConstantExpr" class="def variant constructor anchored"><a href="#type-stmt.ConstantExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">ConstantExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a></span></code></li><li id="type-stmt.FloatingLiteral" class="def variant constructor anchored"><a href="#type-stmt.FloatingLiteral" class="anchor"></a><code><span>| </span><span><span class="constructor">FloatingLiteral</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a> * string</span></code></li><li id="type-stmt.FixedPointLiteral" class="def variant constructor anchored"><a href="#type-stmt.FixedPointLiteral" class="anchor"></a><code><span>| </span><span><span class="constructor">FixedPointLiteral</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a> * string</span></code></li><li id="type-stmt.ExtVectorElementExpr" class="def variant constructor anchored"><a href="#type-stmt.ExtVectorElementExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">ExtVectorElementExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a></span></code></li><li id="type-stmt.ExpressionTraitExpr" class="def variant constructor anchored"><a href="#type-stmt.ExpressionTraitExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">ExpressionTraitExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a></span></code></li><li id="type-stmt.DesignatedInitUpdateExpr" class="def variant constructor anchored"><a href="#type-stmt.DesignatedInitUpdateExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">DesignatedInitUpdateExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a></span></code></li><li id="type-stmt.DesignatedInitExpr" class="def variant constructor anchored"><a href="#type-stmt.DesignatedInitExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">DesignatedInitExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a></span></code></li><li id="type-stmt.DependentScopeDeclRefExpr" class="def variant constructor anchored"><a href="#type-stmt.DependentScopeDeclRefExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">DependentScopeDeclRefExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a></span></code></li><li id="type-stmt.DependentCoawaitExpr" class="def variant constructor anchored"><a href="#type-stmt.DependentCoawaitExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">DependentCoawaitExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a></span></code></li><li id="type-stmt.DeclRefExpr" class="def variant constructor anchored"><a href="#type-stmt.DeclRefExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">DeclRefExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a> * <a href="#type-decl_ref_expr_info">decl_ref_expr_info</a></span></code></li><li id="type-stmt.CoyieldExpr" class="def variant constructor anchored"><a href="#type-stmt.CoyieldExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">CoyieldExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a></span></code></li><li id="type-stmt.CoawaitExpr" class="def variant constructor anchored"><a href="#type-stmt.CoawaitExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">CoawaitExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a></span></code></li><li id="type-stmt.ConvertVectorExpr" class="def variant constructor anchored"><a href="#type-stmt.ConvertVectorExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">ConvertVectorExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a></span></code></li><li id="type-stmt.ConceptSpecializationExpr" class="def variant constructor anchored"><a href="#type-stmt.ConceptSpecializationExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">ConceptSpecializationExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a></span></code></li><li id="type-stmt.CompoundLiteralExpr" class="def variant constructor anchored"><a href="#type-stmt.CompoundLiteralExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">CompoundLiteralExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a></span></code></li><li id="type-stmt.ChooseExpr" class="def variant constructor anchored"><a href="#type-stmt.ChooseExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">ChooseExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a></span></code></li><li id="type-stmt.CharacterLiteral" class="def variant constructor anchored"><a href="#type-stmt.CharacterLiteral" class="anchor"></a><code><span>| </span><span><span class="constructor">CharacterLiteral</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a> * int</span></code></li><li id="type-stmt.ImplicitCastExpr" class="def variant constructor anchored"><a href="#type-stmt.ImplicitCastExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">ImplicitCastExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a> * <a href="#type-cast_expr_info">cast_expr_info</a> * bool</span></code></li><li id="type-stmt.ObjCBridgedCastExpr" class="def variant constructor anchored"><a href="#type-stmt.ObjCBridgedCastExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">ObjCBridgedCastExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a>
                       * <span><a href="#type-stmt">stmt</a> list</span>
                       * <a href="#type-expr_info">expr_info</a>
                       * <a href="#type-cast_expr_info">cast_expr_info</a>
                       * <a href="#type-qual_type">qual_type</a>
                       * <a href="#type-obj_c_bridged_cast_expr_info">obj_c_bridged_cast_expr_info</a></span></code></li><li id="type-stmt.CXXStaticCastExpr" class="def variant constructor anchored"><a href="#type-stmt.CXXStaticCastExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">CXXStaticCastExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a>
                     * <span><a href="#type-stmt">stmt</a> list</span>
                     * <a href="#type-expr_info">expr_info</a>
                     * <a href="#type-cast_expr_info">cast_expr_info</a>
                     * <a href="#type-qual_type">qual_type</a>
                     * string</span></code></li><li id="type-stmt.CXXReinterpretCastExpr" class="def variant constructor anchored"><a href="#type-stmt.CXXReinterpretCastExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">CXXReinterpretCastExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a>
                          * <span><a href="#type-stmt">stmt</a> list</span>
                          * <a href="#type-expr_info">expr_info</a>
                          * <a href="#type-cast_expr_info">cast_expr_info</a>
                          * <a href="#type-qual_type">qual_type</a>
                          * string</span></code></li><li id="type-stmt.CXXDynamicCastExpr" class="def variant constructor anchored"><a href="#type-stmt.CXXDynamicCastExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">CXXDynamicCastExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a>
                      * <span><a href="#type-stmt">stmt</a> list</span>
                      * <a href="#type-expr_info">expr_info</a>
                      * <a href="#type-cast_expr_info">cast_expr_info</a>
                      * <a href="#type-qual_type">qual_type</a>
                      * string</span></code></li><li id="type-stmt.CXXConstCastExpr" class="def variant constructor anchored"><a href="#type-stmt.CXXConstCastExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">CXXConstCastExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a>
                    * <span><a href="#type-stmt">stmt</a> list</span>
                    * <a href="#type-expr_info">expr_info</a>
                    * <a href="#type-cast_expr_info">cast_expr_info</a>
                    * <a href="#type-qual_type">qual_type</a>
                    * string</span></code></li><li id="type-stmt.CXXAddrspaceCastExpr" class="def variant constructor anchored"><a href="#type-stmt.CXXAddrspaceCastExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">CXXAddrspaceCastExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a>
                        * <span><a href="#type-stmt">stmt</a> list</span>
                        * <a href="#type-expr_info">expr_info</a>
                        * <a href="#type-cast_expr_info">cast_expr_info</a>
                        * <a href="#type-qual_type">qual_type</a>
                        * string</span></code></li><li id="type-stmt.CXXFunctionalCastExpr" class="def variant constructor anchored"><a href="#type-stmt.CXXFunctionalCastExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">CXXFunctionalCastExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a>
                         * <span><a href="#type-stmt">stmt</a> list</span>
                         * <a href="#type-expr_info">expr_info</a>
                         * <a href="#type-cast_expr_info">cast_expr_info</a>
                         * <a href="#type-qual_type">qual_type</a></span></code></li><li id="type-stmt.CStyleCastExpr" class="def variant constructor anchored"><a href="#type-stmt.CStyleCastExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">CStyleCastExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a>
                  * <span><a href="#type-stmt">stmt</a> list</span>
                  * <a href="#type-expr_info">expr_info</a>
                  * <a href="#type-cast_expr_info">cast_expr_info</a>
                  * <a href="#type-qual_type">qual_type</a></span></code></li><li id="type-stmt.BuiltinBitCastExpr" class="def variant constructor anchored"><a href="#type-stmt.BuiltinBitCastExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">BuiltinBitCastExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a>
                      * <span><a href="#type-stmt">stmt</a> list</span>
                      * <a href="#type-expr_info">expr_info</a>
                      * <a href="#type-cast_expr_info">cast_expr_info</a>
                      * <a href="#type-qual_type">qual_type</a></span></code></li><li id="type-stmt.CallExpr" class="def variant constructor anchored"><a href="#type-stmt.CallExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">CallExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a></span></code></li><li id="type-stmt.UserDefinedLiteral" class="def variant constructor anchored"><a href="#type-stmt.UserDefinedLiteral" class="anchor"></a><code><span>| </span><span><span class="constructor">UserDefinedLiteral</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a></span></code></li><li id="type-stmt.CXXOperatorCallExpr" class="def variant constructor anchored"><a href="#type-stmt.CXXOperatorCallExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">CXXOperatorCallExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a></span></code></li><li id="type-stmt.CXXMemberCallExpr" class="def variant constructor anchored"><a href="#type-stmt.CXXMemberCallExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">CXXMemberCallExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a></span></code></li><li id="type-stmt.CUDAKernelCallExpr" class="def variant constructor anchored"><a href="#type-stmt.CUDAKernelCallExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">CUDAKernelCallExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a></span></code></li><li id="type-stmt.CXXUuidofExpr" class="def variant constructor anchored"><a href="#type-stmt.CXXUuidofExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">CXXUuidofExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a></span></code></li><li id="type-stmt.CXXUnresolvedConstructExpr" class="def variant constructor anchored"><a href="#type-stmt.CXXUnresolvedConstructExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">CXXUnresolvedConstructExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a></span></code></li><li id="type-stmt.CXXTypeidExpr" class="def variant constructor anchored"><a href="#type-stmt.CXXTypeidExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">CXXTypeidExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a></span></code></li><li id="type-stmt.CXXThrowExpr" class="def variant constructor anchored"><a href="#type-stmt.CXXThrowExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">CXXThrowExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a></span></code></li><li id="type-stmt.CXXThisExpr" class="def variant constructor anchored"><a href="#type-stmt.CXXThisExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">CXXThisExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a></span></code></li><li id="type-stmt.CXXStdInitializerListExpr" class="def variant constructor anchored"><a href="#type-stmt.CXXStdInitializerListExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">CXXStdInitializerListExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a></span></code></li><li id="type-stmt.CXXScalarValueInitExpr" class="def variant constructor anchored"><a href="#type-stmt.CXXScalarValueInitExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">CXXScalarValueInitExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a></span></code></li><li id="type-stmt.CXXRewrittenBinaryOperator" class="def variant constructor anchored"><a href="#type-stmt.CXXRewrittenBinaryOperator" class="anchor"></a><code><span>| </span><span><span class="constructor">CXXRewrittenBinaryOperator</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a></span></code></li><li id="type-stmt.CXXPseudoDestructorExpr" class="def variant constructor anchored"><a href="#type-stmt.CXXPseudoDestructorExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">CXXPseudoDestructorExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a></span></code></li><li id="type-stmt.CXXParenListInitExpr" class="def variant constructor anchored"><a href="#type-stmt.CXXParenListInitExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">CXXParenListInitExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a></span></code></li><li id="type-stmt.CXXNullPtrLiteralExpr" class="def variant constructor anchored"><a href="#type-stmt.CXXNullPtrLiteralExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">CXXNullPtrLiteralExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a></span></code></li><li id="type-stmt.CXXNoexceptExpr" class="def variant constructor anchored"><a href="#type-stmt.CXXNoexceptExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">CXXNoexceptExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a> * <a href="#type-cxx_noexcept_expr_info">cxx_noexcept_expr_info</a></span></code></li><li id="type-stmt.CXXNewExpr" class="def variant constructor anchored"><a href="#type-stmt.CXXNewExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">CXXNewExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a> * <a href="#type-cxx_new_expr_info">cxx_new_expr_info</a></span></code></li><li id="type-stmt.CXXInheritedCtorInitExpr" class="def variant constructor anchored"><a href="#type-stmt.CXXInheritedCtorInitExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">CXXInheritedCtorInitExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a>
                            * <span><a href="#type-stmt">stmt</a> list</span>
                            * <a href="#type-expr_info">expr_info</a>
                            * <a href="#type-cxx_construct_expr_info">cxx_construct_expr_info</a></span></code></li><li id="type-stmt.CXXFoldExpr" class="def variant constructor anchored"><a href="#type-stmt.CXXFoldExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">CXXFoldExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a></span></code></li><li id="type-stmt.CXXDependentScopeMemberExpr" class="def variant constructor anchored"><a href="#type-stmt.CXXDependentScopeMemberExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">CXXDependentScopeMemberExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a></span></code></li><li id="type-stmt.CXXDeleteExpr" class="def variant constructor anchored"><a href="#type-stmt.CXXDeleteExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">CXXDeleteExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a> * <a href="#type-cxx_delete_expr_info">cxx_delete_expr_info</a></span></code></li><li id="type-stmt.CXXDefaultInitExpr" class="def variant constructor anchored"><a href="#type-stmt.CXXDefaultInitExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">CXXDefaultInitExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a> * <a href="#type-cxx_default_expr_info">cxx_default_expr_info</a></span></code></li><li id="type-stmt.CXXDefaultArgExpr" class="def variant constructor anchored"><a href="#type-stmt.CXXDefaultArgExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">CXXDefaultArgExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a> * <a href="#type-cxx_default_expr_info">cxx_default_expr_info</a></span></code></li><li id="type-stmt.CXXConstructExpr" class="def variant constructor anchored"><a href="#type-stmt.CXXConstructExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">CXXConstructExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a> * <a href="#type-cxx_construct_expr_info">cxx_construct_expr_info</a></span></code></li><li id="type-stmt.CXXTemporaryObjectExpr" class="def variant constructor anchored"><a href="#type-stmt.CXXTemporaryObjectExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">CXXTemporaryObjectExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a>
                          * <span><a href="#type-stmt">stmt</a> list</span>
                          * <a href="#type-expr_info">expr_info</a>
                          * <a href="#type-cxx_construct_expr_info">cxx_construct_expr_info</a></span></code></li><li id="type-stmt.CXXBoolLiteralExpr" class="def variant constructor anchored"><a href="#type-stmt.CXXBoolLiteralExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">CXXBoolLiteralExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a> * int</span></code></li><li id="type-stmt.CXXBindTemporaryExpr" class="def variant constructor anchored"><a href="#type-stmt.CXXBindTemporaryExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">CXXBindTemporaryExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a>
                        * <span><a href="#type-stmt">stmt</a> list</span>
                        * <a href="#type-expr_info">expr_info</a>
                        * <a href="#type-cxx_bind_temporary_expr_info">cxx_bind_temporary_expr_info</a></span></code></li><li id="type-stmt.BlockExpr" class="def variant constructor anchored"><a href="#type-stmt.BlockExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">BlockExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a> * <a href="#type-decl">decl</a></span></code></li><li id="type-stmt.BinaryOperator" class="def variant constructor anchored"><a href="#type-stmt.BinaryOperator" class="anchor"></a><code><span>| </span><span><span class="constructor">BinaryOperator</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a> * <a href="#type-binary_operator_info">binary_operator_info</a></span></code></li><li id="type-stmt.CompoundAssignOperator" class="def variant constructor anchored"><a href="#type-stmt.CompoundAssignOperator" class="anchor"></a><code><span>| </span><span><span class="constructor">CompoundAssignOperator</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a>
                          * <span><a href="#type-stmt">stmt</a> list</span>
                          * <a href="#type-expr_info">expr_info</a>
                          * <a href="#type-binary_operator_info">binary_operator_info</a>
                          * <a href="#type-compound_assign_operator_info">compound_assign_operator_info</a></span></code></li><li id="type-stmt.AtomicExpr" class="def variant constructor anchored"><a href="#type-stmt.AtomicExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">AtomicExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a> * <a href="#type-atomic_expr_info">atomic_expr_info</a></span></code></li><li id="type-stmt.AsTypeExpr" class="def variant constructor anchored"><a href="#type-stmt.AsTypeExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">AsTypeExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a></span></code></li><li id="type-stmt.ArrayTypeTraitExpr" class="def variant constructor anchored"><a href="#type-stmt.ArrayTypeTraitExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">ArrayTypeTraitExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a></span></code></li><li id="type-stmt.ArraySubscriptExpr" class="def variant constructor anchored"><a href="#type-stmt.ArraySubscriptExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">ArraySubscriptExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a></span></code></li><li id="type-stmt.ArrayInitLoopExpr" class="def variant constructor anchored"><a href="#type-stmt.ArrayInitLoopExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">ArrayInitLoopExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a></span></code></li><li id="type-stmt.ArrayInitIndexExpr" class="def variant constructor anchored"><a href="#type-stmt.ArrayInitIndexExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">ArrayInitIndexExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a></span></code></li><li id="type-stmt.AddrLabelExpr" class="def variant constructor anchored"><a href="#type-stmt.AddrLabelExpr" class="anchor"></a><code><span>| </span><span><span class="constructor">AddrLabelExpr</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a> * <a href="#type-addr_label_expr_info">addr_label_expr_info</a></span></code></li><li id="type-stmt.ConditionalOperator" class="def variant constructor anchored"><a href="#type-stmt.ConditionalOperator" class="anchor"></a><code><span>| </span><span><span class="constructor">ConditionalOperator</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a></span></code></li><li id="type-stmt.BinaryConditionalOperator" class="def variant constructor anchored"><a href="#type-stmt.BinaryConditionalOperator" class="anchor"></a><code><span>| </span><span><span class="constructor">BinaryConditionalOperator</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-expr_info">expr_info</a></span></code></li><li id="type-stmt.AttributedStmt" class="def variant constructor anchored"><a href="#type-stmt.AttributedStmt" class="anchor"></a><code><span>| </span><span><span class="constructor">AttributedStmt</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <span><a href="#type-attribute">attribute</a> list</span></span></code></li><li id="type-stmt.SwitchStmt" class="def variant constructor anchored"><a href="#type-stmt.SwitchStmt" class="anchor"></a><code><span>| </span><span><span class="constructor">SwitchStmt</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-switch_stmt_info">switch_stmt_info</a></span></code></li><li id="type-stmt.DefaultStmt" class="def variant constructor anchored"><a href="#type-stmt.DefaultStmt" class="anchor"></a><code><span>| </span><span><span class="constructor">DefaultStmt</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.CaseStmt" class="def variant constructor anchored"><a href="#type-stmt.CaseStmt" class="anchor"></a><code><span>| </span><span><span class="constructor">CaseStmt</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.SEHTryStmt" class="def variant constructor anchored"><a href="#type-stmt.SEHTryStmt" class="anchor"></a><code><span>| </span><span><span class="constructor">SEHTryStmt</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.SEHLeaveStmt" class="def variant constructor anchored"><a href="#type-stmt.SEHLeaveStmt" class="anchor"></a><code><span>| </span><span><span class="constructor">SEHLeaveStmt</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.SEHFinallyStmt" class="def variant constructor anchored"><a href="#type-stmt.SEHFinallyStmt" class="anchor"></a><code><span>| </span><span><span class="constructor">SEHFinallyStmt</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.SEHExceptStmt" class="def variant constructor anchored"><a href="#type-stmt.SEHExceptStmt" class="anchor"></a><code><span>| </span><span><span class="constructor">SEHExceptStmt</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.ReturnStmt" class="def variant constructor anchored"><a href="#type-stmt.ReturnStmt" class="anchor"></a><code><span>| </span><span><span class="constructor">ReturnStmt</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.ObjCForCollectionStmt" class="def variant constructor anchored"><a href="#type-stmt.ObjCForCollectionStmt" class="anchor"></a><code><span>| </span><span><span class="constructor">ObjCForCollectionStmt</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.ObjCAutoreleasePoolStmt" class="def variant constructor anchored"><a href="#type-stmt.ObjCAutoreleasePoolStmt" class="anchor"></a><code><span>| </span><span><span class="constructor">ObjCAutoreleasePoolStmt</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.ObjCAtTryStmt" class="def variant constructor anchored"><a href="#type-stmt.ObjCAtTryStmt" class="anchor"></a><code><span>| </span><span><span class="constructor">ObjCAtTryStmt</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.ObjCAtThrowStmt" class="def variant constructor anchored"><a href="#type-stmt.ObjCAtThrowStmt" class="anchor"></a><code><span>| </span><span><span class="constructor">ObjCAtThrowStmt</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.ObjCAtSynchronizedStmt" class="def variant constructor anchored"><a href="#type-stmt.ObjCAtSynchronizedStmt" class="anchor"></a><code><span>| </span><span><span class="constructor">ObjCAtSynchronizedStmt</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.ObjCAtFinallyStmt" class="def variant constructor anchored"><a href="#type-stmt.ObjCAtFinallyStmt" class="anchor"></a><code><span>| </span><span><span class="constructor">ObjCAtFinallyStmt</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.ObjCAtCatchStmt" class="def variant constructor anchored"><a href="#type-stmt.ObjCAtCatchStmt" class="anchor"></a><code><span>| </span><span><span class="constructor">ObjCAtCatchStmt</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-obj_c_message_expr_kind">obj_c_message_expr_kind</a></span></code></li><li id="type-stmt.OMPTeamsDirective" class="def variant constructor anchored"><a href="#type-stmt.OMPTeamsDirective" class="anchor"></a><code><span>| </span><span><span class="constructor">OMPTeamsDirective</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.OMPTaskyieldDirective" class="def variant constructor anchored"><a href="#type-stmt.OMPTaskyieldDirective" class="anchor"></a><code><span>| </span><span><span class="constructor">OMPTaskyieldDirective</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.OMPTaskwaitDirective" class="def variant constructor anchored"><a href="#type-stmt.OMPTaskwaitDirective" class="anchor"></a><code><span>| </span><span><span class="constructor">OMPTaskwaitDirective</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.OMPTaskgroupDirective" class="def variant constructor anchored"><a href="#type-stmt.OMPTaskgroupDirective" class="anchor"></a><code><span>| </span><span><span class="constructor">OMPTaskgroupDirective</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.OMPTaskDirective" class="def variant constructor anchored"><a href="#type-stmt.OMPTaskDirective" class="anchor"></a><code><span>| </span><span><span class="constructor">OMPTaskDirective</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.OMPTargetUpdateDirective" class="def variant constructor anchored"><a href="#type-stmt.OMPTargetUpdateDirective" class="anchor"></a><code><span>| </span><span><span class="constructor">OMPTargetUpdateDirective</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.OMPTargetTeamsDirective" class="def variant constructor anchored"><a href="#type-stmt.OMPTargetTeamsDirective" class="anchor"></a><code><span>| </span><span><span class="constructor">OMPTargetTeamsDirective</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.OMPTargetParallelForDirective" class="def variant constructor anchored"><a href="#type-stmt.OMPTargetParallelForDirective" class="anchor"></a><code><span>| </span><span><span class="constructor">OMPTargetParallelForDirective</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.OMPTargetParallelDirective" class="def variant constructor anchored"><a href="#type-stmt.OMPTargetParallelDirective" class="anchor"></a><code><span>| </span><span><span class="constructor">OMPTargetParallelDirective</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.OMPTargetExitDataDirective" class="def variant constructor anchored"><a href="#type-stmt.OMPTargetExitDataDirective" class="anchor"></a><code><span>| </span><span><span class="constructor">OMPTargetExitDataDirective</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.OMPTargetEnterDataDirective" class="def variant constructor anchored"><a href="#type-stmt.OMPTargetEnterDataDirective" class="anchor"></a><code><span>| </span><span><span class="constructor">OMPTargetEnterDataDirective</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.OMPTargetDirective" class="def variant constructor anchored"><a href="#type-stmt.OMPTargetDirective" class="anchor"></a><code><span>| </span><span><span class="constructor">OMPTargetDirective</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.OMPTargetDataDirective" class="def variant constructor anchored"><a href="#type-stmt.OMPTargetDataDirective" class="anchor"></a><code><span>| </span><span><span class="constructor">OMPTargetDataDirective</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.OMPSingleDirective" class="def variant constructor anchored"><a href="#type-stmt.OMPSingleDirective" class="anchor"></a><code><span>| </span><span><span class="constructor">OMPSingleDirective</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.OMPSectionsDirective" class="def variant constructor anchored"><a href="#type-stmt.OMPSectionsDirective" class="anchor"></a><code><span>| </span><span><span class="constructor">OMPSectionsDirective</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.OMPSectionDirective" class="def variant constructor anchored"><a href="#type-stmt.OMPSectionDirective" class="anchor"></a><code><span>| </span><span><span class="constructor">OMPSectionDirective</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.OMPScopeDirective" class="def variant constructor anchored"><a href="#type-stmt.OMPScopeDirective" class="anchor"></a><code><span>| </span><span><span class="constructor">OMPScopeDirective</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.OMPScanDirective" class="def variant constructor anchored"><a href="#type-stmt.OMPScanDirective" class="anchor"></a><code><span>| </span><span><span class="constructor">OMPScanDirective</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.OMPParallelSectionsDirective" class="def variant constructor anchored"><a href="#type-stmt.OMPParallelSectionsDirective" class="anchor"></a><code><span>| </span><span><span class="constructor">OMPParallelSectionsDirective</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.OMPParallelMasterDirective" class="def variant constructor anchored"><a href="#type-stmt.OMPParallelMasterDirective" class="anchor"></a><code><span>| </span><span><span class="constructor">OMPParallelMasterDirective</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.OMPParallelMaskedDirective" class="def variant constructor anchored"><a href="#type-stmt.OMPParallelMaskedDirective" class="anchor"></a><code><span>| </span><span><span class="constructor">OMPParallelMaskedDirective</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.OMPParallelDirective" class="def variant constructor anchored"><a href="#type-stmt.OMPParallelDirective" class="anchor"></a><code><span>| </span><span><span class="constructor">OMPParallelDirective</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.OMPOrderedDirective" class="def variant constructor anchored"><a href="#type-stmt.OMPOrderedDirective" class="anchor"></a><code><span>| </span><span><span class="constructor">OMPOrderedDirective</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.OMPMetaDirective" class="def variant constructor anchored"><a href="#type-stmt.OMPMetaDirective" class="anchor"></a><code><span>| </span><span><span class="constructor">OMPMetaDirective</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.OMPMasterDirective" class="def variant constructor anchored"><a href="#type-stmt.OMPMasterDirective" class="anchor"></a><code><span>| </span><span><span class="constructor">OMPMasterDirective</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.OMPMaskedDirective" class="def variant constructor anchored"><a href="#type-stmt.OMPMaskedDirective" class="anchor"></a><code><span>| </span><span><span class="constructor">OMPMaskedDirective</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.OMPUnrollDirective" class="def variant constructor anchored"><a href="#type-stmt.OMPUnrollDirective" class="anchor"></a><code><span>| </span><span><span class="constructor">OMPUnrollDirective</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.OMPTileDirective" class="def variant constructor anchored"><a href="#type-stmt.OMPTileDirective" class="anchor"></a><code><span>| </span><span><span class="constructor">OMPTileDirective</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.OMPTeamsGenericLoopDirective" class="def variant constructor anchored"><a href="#type-stmt.OMPTeamsGenericLoopDirective" class="anchor"></a><code><span>| </span><span><span class="constructor">OMPTeamsGenericLoopDirective</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.OMPTeamsDistributeSimdDirective" class="def variant constructor anchored"><a href="#type-stmt.OMPTeamsDistributeSimdDirective" class="anchor"></a><code><span>| </span><span><span class="constructor">OMPTeamsDistributeSimdDirective</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.OMPTeamsDistributeParallelForSimdDirective" class="def variant constructor anchored"><a href="#type-stmt.OMPTeamsDistributeParallelForSimdDirective" class="anchor"></a><code><span>| </span><span><span class="constructor">OMPTeamsDistributeParallelForSimdDirective</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.OMPTeamsDistributeParallelForDirective" class="def variant constructor anchored"><a href="#type-stmt.OMPTeamsDistributeParallelForDirective" class="anchor"></a><code><span>| </span><span><span class="constructor">OMPTeamsDistributeParallelForDirective</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.OMPTeamsDistributeDirective" class="def variant constructor anchored"><a href="#type-stmt.OMPTeamsDistributeDirective" class="anchor"></a><code><span>| </span><span><span class="constructor">OMPTeamsDistributeDirective</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.OMPTaskLoopSimdDirective" class="def variant constructor anchored"><a href="#type-stmt.OMPTaskLoopSimdDirective" class="anchor"></a><code><span>| </span><span><span class="constructor">OMPTaskLoopSimdDirective</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.OMPTaskLoopDirective" class="def variant constructor anchored"><a href="#type-stmt.OMPTaskLoopDirective" class="anchor"></a><code><span>| </span><span><span class="constructor">OMPTaskLoopDirective</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.OMPTargetTeamsGenericLoopDirective" class="def variant constructor anchored"><a href="#type-stmt.OMPTargetTeamsGenericLoopDirective" class="anchor"></a><code><span>| </span><span><span class="constructor">OMPTargetTeamsGenericLoopDirective</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.OMPTargetTeamsDistributeSimdDirective" class="def variant constructor anchored"><a href="#type-stmt.OMPTargetTeamsDistributeSimdDirective" class="anchor"></a><code><span>| </span><span><span class="constructor">OMPTargetTeamsDistributeSimdDirective</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.OMPTargetTeamsDistributeParallelForSimdDirective" class="def variant constructor anchored"><a href="#type-stmt.OMPTargetTeamsDistributeParallelForSimdDirective" class="anchor"></a><code><span>| </span><span><span class="constructor">OMPTargetTeamsDistributeParallelForSimdDirective</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.OMPTargetTeamsDistributeParallelForDirective" class="def variant constructor anchored"><a href="#type-stmt.OMPTargetTeamsDistributeParallelForDirective" class="anchor"></a><code><span>| </span><span><span class="constructor">OMPTargetTeamsDistributeParallelForDirective</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.OMPTargetTeamsDistributeDirective" class="def variant constructor anchored"><a href="#type-stmt.OMPTargetTeamsDistributeDirective" class="anchor"></a><code><span>| </span><span><span class="constructor">OMPTargetTeamsDistributeDirective</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.OMPTargetSimdDirective" class="def variant constructor anchored"><a href="#type-stmt.OMPTargetSimdDirective" class="anchor"></a><code><span>| </span><span><span class="constructor">OMPTargetSimdDirective</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.OMPTargetParallelGenericLoopDirective" class="def variant constructor anchored"><a href="#type-stmt.OMPTargetParallelGenericLoopDirective" class="anchor"></a><code><span>| </span><span><span class="constructor">OMPTargetParallelGenericLoopDirective</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.OMPTargetParallelForSimdDirective" class="def variant constructor anchored"><a href="#type-stmt.OMPTargetParallelForSimdDirective" class="anchor"></a><code><span>| </span><span><span class="constructor">OMPTargetParallelForSimdDirective</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.OMPSimdDirective" class="def variant constructor anchored"><a href="#type-stmt.OMPSimdDirective" class="anchor"></a><code><span>| </span><span><span class="constructor">OMPSimdDirective</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.OMPParallelMasterTaskLoopSimdDirective" class="def variant constructor anchored"><a href="#type-stmt.OMPParallelMasterTaskLoopSimdDirective" class="anchor"></a><code><span>| </span><span><span class="constructor">OMPParallelMasterTaskLoopSimdDirective</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.OMPParallelMasterTaskLoopDirective" class="def variant constructor anchored"><a href="#type-stmt.OMPParallelMasterTaskLoopDirective" class="anchor"></a><code><span>| </span><span><span class="constructor">OMPParallelMasterTaskLoopDirective</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.OMPParallelMaskedTaskLoopSimdDirective" class="def variant constructor anchored"><a href="#type-stmt.OMPParallelMaskedTaskLoopSimdDirective" class="anchor"></a><code><span>| </span><span><span class="constructor">OMPParallelMaskedTaskLoopSimdDirective</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.OMPParallelMaskedTaskLoopDirective" class="def variant constructor anchored"><a href="#type-stmt.OMPParallelMaskedTaskLoopDirective" class="anchor"></a><code><span>| </span><span><span class="constructor">OMPParallelMaskedTaskLoopDirective</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.OMPParallelGenericLoopDirective" class="def variant constructor anchored"><a href="#type-stmt.OMPParallelGenericLoopDirective" class="anchor"></a><code><span>| </span><span><span class="constructor">OMPParallelGenericLoopDirective</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.OMPParallelForSimdDirective" class="def variant constructor anchored"><a href="#type-stmt.OMPParallelForSimdDirective" class="anchor"></a><code><span>| </span><span><span class="constructor">OMPParallelForSimdDirective</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.OMPParallelForDirective" class="def variant constructor anchored"><a href="#type-stmt.OMPParallelForDirective" class="anchor"></a><code><span>| </span><span><span class="constructor">OMPParallelForDirective</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.OMPMasterTaskLoopSimdDirective" class="def variant constructor anchored"><a href="#type-stmt.OMPMasterTaskLoopSimdDirective" class="anchor"></a><code><span>| </span><span><span class="constructor">OMPMasterTaskLoopSimdDirective</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.OMPMasterTaskLoopDirective" class="def variant constructor anchored"><a href="#type-stmt.OMPMasterTaskLoopDirective" class="anchor"></a><code><span>| </span><span><span class="constructor">OMPMasterTaskLoopDirective</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.OMPMaskedTaskLoopSimdDirective" class="def variant constructor anchored"><a href="#type-stmt.OMPMaskedTaskLoopSimdDirective" class="anchor"></a><code><span>| </span><span><span class="constructor">OMPMaskedTaskLoopSimdDirective</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.OMPMaskedTaskLoopDirective" class="def variant constructor anchored"><a href="#type-stmt.OMPMaskedTaskLoopDirective" class="anchor"></a><code><span>| </span><span><span class="constructor">OMPMaskedTaskLoopDirective</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.OMPGenericLoopDirective" class="def variant constructor anchored"><a href="#type-stmt.OMPGenericLoopDirective" class="anchor"></a><code><span>| </span><span><span class="constructor">OMPGenericLoopDirective</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.OMPForSimdDirective" class="def variant constructor anchored"><a href="#type-stmt.OMPForSimdDirective" class="anchor"></a><code><span>| </span><span><span class="constructor">OMPForSimdDirective</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.OMPForDirective" class="def variant constructor anchored"><a href="#type-stmt.OMPForDirective" class="anchor"></a><code><span>| </span><span><span class="constructor">OMPForDirective</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.OMPDistributeSimdDirective" class="def variant constructor anchored"><a href="#type-stmt.OMPDistributeSimdDirective" class="anchor"></a><code><span>| </span><span><span class="constructor">OMPDistributeSimdDirective</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.OMPDistributeParallelForSimdDirective" class="def variant constructor anchored"><a href="#type-stmt.OMPDistributeParallelForSimdDirective" class="anchor"></a><code><span>| </span><span><span class="constructor">OMPDistributeParallelForSimdDirective</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.OMPDistributeParallelForDirective" class="def variant constructor anchored"><a href="#type-stmt.OMPDistributeParallelForDirective" class="anchor"></a><code><span>| </span><span><span class="constructor">OMPDistributeParallelForDirective</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.OMPDistributeDirective" class="def variant constructor anchored"><a href="#type-stmt.OMPDistributeDirective" class="anchor"></a><code><span>| </span><span><span class="constructor">OMPDistributeDirective</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.OMPInteropDirective" class="def variant constructor anchored"><a href="#type-stmt.OMPInteropDirective" class="anchor"></a><code><span>| </span><span><span class="constructor">OMPInteropDirective</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.OMPFlushDirective" class="def variant constructor anchored"><a href="#type-stmt.OMPFlushDirective" class="anchor"></a><code><span>| </span><span><span class="constructor">OMPFlushDirective</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.OMPErrorDirective" class="def variant constructor anchored"><a href="#type-stmt.OMPErrorDirective" class="anchor"></a><code><span>| </span><span><span class="constructor">OMPErrorDirective</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.OMPDispatchDirective" class="def variant constructor anchored"><a href="#type-stmt.OMPDispatchDirective" class="anchor"></a><code><span>| </span><span><span class="constructor">OMPDispatchDirective</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.OMPDepobjDirective" class="def variant constructor anchored"><a href="#type-stmt.OMPDepobjDirective" class="anchor"></a><code><span>| </span><span><span class="constructor">OMPDepobjDirective</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.OMPCriticalDirective" class="def variant constructor anchored"><a href="#type-stmt.OMPCriticalDirective" class="anchor"></a><code><span>| </span><span><span class="constructor">OMPCriticalDirective</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.OMPCancellationPointDirective" class="def variant constructor anchored"><a href="#type-stmt.OMPCancellationPointDirective" class="anchor"></a><code><span>| </span><span><span class="constructor">OMPCancellationPointDirective</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.OMPCancelDirective" class="def variant constructor anchored"><a href="#type-stmt.OMPCancelDirective" class="anchor"></a><code><span>| </span><span><span class="constructor">OMPCancelDirective</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.OMPBarrierDirective" class="def variant constructor anchored"><a href="#type-stmt.OMPBarrierDirective" class="anchor"></a><code><span>| </span><span><span class="constructor">OMPBarrierDirective</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.OMPAtomicDirective" class="def variant constructor anchored"><a href="#type-stmt.OMPAtomicDirective" class="anchor"></a><code><span>| </span><span><span class="constructor">OMPAtomicDirective</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.OMPCanonicalLoop" class="def variant constructor anchored"><a href="#type-stmt.OMPCanonicalLoop" class="anchor"></a><code><span>| </span><span><span class="constructor">OMPCanonicalLoop</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.NullStmt" class="def variant constructor anchored"><a href="#type-stmt.NullStmt" class="anchor"></a><code><span>| </span><span><span class="constructor">NullStmt</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.MSDependentExistsStmt" class="def variant constructor anchored"><a href="#type-stmt.MSDependentExistsStmt" class="anchor"></a><code><span>| </span><span><span class="constructor">MSDependentExistsStmt</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.IndirectGotoStmt" class="def variant constructor anchored"><a href="#type-stmt.IndirectGotoStmt" class="anchor"></a><code><span>| </span><span><span class="constructor">IndirectGotoStmt</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.IfStmt" class="def variant constructor anchored"><a href="#type-stmt.IfStmt" class="anchor"></a><code><span>| </span><span><span class="constructor">IfStmt</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-if_stmt_info">if_stmt_info</a></span></code></li><li id="type-stmt.GotoStmt" class="def variant constructor anchored"><a href="#type-stmt.GotoStmt" class="anchor"></a><code><span>| </span><span><span class="constructor">GotoStmt</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-goto_stmt_info">goto_stmt_info</a></span></code></li><li id="type-stmt.ForStmt" class="def variant constructor anchored"><a href="#type-stmt.ForStmt" class="anchor"></a><code><span>| </span><span><span class="constructor">ForStmt</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.DoStmt" class="def variant constructor anchored"><a href="#type-stmt.DoStmt" class="anchor"></a><code><span>| </span><span><span class="constructor">DoStmt</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.DeclStmt" class="def variant constructor anchored"><a href="#type-stmt.DeclStmt" class="anchor"></a><code><span>| </span><span><span class="constructor">DeclStmt</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <span><a href="#type-decl">decl</a> list</span></span></code></li><li id="type-stmt.CoroutineBodyStmt" class="def variant constructor anchored"><a href="#type-stmt.CoroutineBodyStmt" class="anchor"></a><code><span>| </span><span><span class="constructor">CoroutineBodyStmt</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-coro_body_stmt_info">coro_body_stmt_info</a></span></code></li><li id="type-stmt.CoreturnStmt" class="def variant constructor anchored"><a href="#type-stmt.CoreturnStmt" class="anchor"></a><code><span>| </span><span><span class="constructor">CoreturnStmt</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-coreturn_stmt_info">coreturn_stmt_info</a></span></code></li><li id="type-stmt.ContinueStmt" class="def variant constructor anchored"><a href="#type-stmt.ContinueStmt" class="anchor"></a><code><span>| </span><span><span class="constructor">ContinueStmt</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.CompoundStmt" class="def variant constructor anchored"><a href="#type-stmt.CompoundStmt" class="anchor"></a><code><span>| </span><span><span class="constructor">CompoundStmt</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.CapturedStmt" class="def variant constructor anchored"><a href="#type-stmt.CapturedStmt" class="anchor"></a><code><span>| </span><span><span class="constructor">CapturedStmt</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.CXXTryStmt" class="def variant constructor anchored"><a href="#type-stmt.CXXTryStmt" class="anchor"></a><code><span>| </span><span><span class="constructor">CXXTryStmt</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.CXXForRangeStmt" class="def variant constructor anchored"><a href="#type-stmt.CXXForRangeStmt" class="anchor"></a><code><span>| </span><span><span class="constructor">CXXForRangeStmt</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.CXXCatchStmt" class="def variant constructor anchored"><a href="#type-stmt.CXXCatchStmt" class="anchor"></a><code><span>| </span><span><span class="constructor">CXXCatchStmt</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span> * <a href="#type-cxx_catch_stmt_info">cxx_catch_stmt_info</a></span></code></li><li id="type-stmt.BreakStmt" class="def variant constructor anchored"><a href="#type-stmt.BreakStmt" class="anchor"></a><code><span>| </span><span><span class="constructor">BreakStmt</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.MSAsmStmt" class="def variant constructor anchored"><a href="#type-stmt.MSAsmStmt" class="anchor"></a><code><span>| </span><span><span class="constructor">MSAsmStmt</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li><li id="type-stmt.GCCAsmStmt" class="def variant constructor anchored"><a href="#type-stmt.GCCAsmStmt" class="anchor"></a><code><span>| </span><span><span class="constructor">GCCAsmStmt</span> <span class="keyword">of</span> <a href="#type-stmt_info">stmt_info</a> * <span><a href="#type-stmt">stmt</a> list</span></span></code></li></ol></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-switch_stmt_info"><a href="#type-switch_stmt_info" class="anchor"></a><code><span><span class="keyword">and</span> switch_stmt_info</span><span> = </span><span>{</span></code><ol><li id="type-switch_stmt_info.ssi_init" class="def record field anchored"><a href="#type-switch_stmt_info.ssi_init" class="anchor"></a><code><span>ssi_init : <span><a href="#type-pointer">pointer</a> option</span>;</span></code></li><li id="type-switch_stmt_info.ssi_cond_var" class="def record field anchored"><a href="#type-switch_stmt_info.ssi_cond_var" class="anchor"></a><code><span>ssi_cond_var : <span><a href="#type-stmt">stmt</a> option</span>;</span></code></li><li id="type-switch_stmt_info.ssi_cond" class="def record field anchored"><a href="#type-switch_stmt_info.ssi_cond" class="anchor"></a><code><span>ssi_cond : <a href="#type-pointer">pointer</a>;</span></code></li><li id="type-switch_stmt_info.ssi_body" class="def record field anchored"><a href="#type-switch_stmt_info.ssi_body" class="anchor"></a><code><span>ssi_body : <a href="#type-pointer">pointer</a>;</span></code></li><li id="type-switch_stmt_info.ssi_is_all_enum_cases_covered" class="def record field anchored"><a href="#type-switch_stmt_info.ssi_is_all_enum_cases_covered" class="anchor"></a><code><span>ssi_is_all_enum_cases_covered : bool;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-template_decl_info"><a href="#type-template_decl_info" class="anchor"></a><code><span><span class="keyword">and</span> template_decl_info</span><span> = </span><span>{</span></code><ol><li id="type-template_decl_info.tdi_specializations" class="def record field anchored"><a href="#type-template_decl_info.tdi_specializations" class="anchor"></a><code><span>tdi_specializations : <span><a href="#type-decl">decl</a> list</span>;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-var_decl_info"><a href="#type-var_decl_info" class="anchor"></a><code><span><span class="keyword">and</span> var_decl_info</span><span> = </span><span>{</span></code><ol><li id="type-var_decl_info.vdi_is_global" class="def record field anchored"><a href="#type-var_decl_info.vdi_is_global" class="anchor"></a><code><span>vdi_is_global : bool;</span></code></li><li id="type-var_decl_info.vdi_is_extern" class="def record field anchored"><a href="#type-var_decl_info.vdi_is_extern" class="anchor"></a><code><span>vdi_is_extern : bool;</span></code></li><li id="type-var_decl_info.vdi_is_static" class="def record field anchored"><a href="#type-var_decl_info.vdi_is_static" class="anchor"></a><code><span>vdi_is_static : bool;</span></code></li><li id="type-var_decl_info.vdi_is_static_local" class="def record field anchored"><a href="#type-var_decl_info.vdi_is_static_local" class="anchor"></a><code><span>vdi_is_static_local : bool;</span></code></li><li id="type-var_decl_info.vdi_is_static_data_member" class="def record field anchored"><a href="#type-var_decl_info.vdi_is_static_data_member" class="anchor"></a><code><span>vdi_is_static_data_member : bool;</span></code></li><li id="type-var_decl_info.vdi_is_constexpr" class="def record field anchored"><a href="#type-var_decl_info.vdi_is_constexpr" class="anchor"></a><code><span>vdi_is_constexpr : bool;</span></code></li><li id="type-var_decl_info.vdi_is_init_ice" class="def record field anchored"><a href="#type-var_decl_info.vdi_is_init_ice" class="anchor"></a><code><span>vdi_is_init_ice : bool;</span></code></li><li id="type-var_decl_info.vdi_init_expr" class="def record field anchored"><a href="#type-var_decl_info.vdi_init_expr" class="anchor"></a><code><span>vdi_init_expr : <span><a href="#type-stmt">stmt</a> option</span>;</span></code></li><li id="type-var_decl_info.vdi_is_init_expr_cxx11_constant" class="def record field anchored"><a href="#type-var_decl_info.vdi_is_init_expr_cxx11_constant" class="anchor"></a><code><span>vdi_is_init_expr_cxx11_constant : bool;</span></code></li><li id="type-var_decl_info.vdi_parm_index_in_function" class="def record field anchored"><a href="#type-var_decl_info.vdi_parm_index_in_function" class="anchor"></a><code><span>vdi_parm_index_in_function : <span>int option</span>;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-lookup"><a href="#type-lookup" class="anchor"></a><code><span><span class="keyword">type</span> lookup</span><span> = </span><span>{</span></code><ol><li id="type-lookup.lup_decl_name" class="def record field anchored"><a href="#type-lookup.lup_decl_name" class="anchor"></a><code><span>lup_decl_name : string;</span></code></li><li id="type-lookup.lup_decl_refs" class="def record field anchored"><a href="#type-lookup.lup_decl_refs" class="anchor"></a><code><span>lup_decl_refs : <span><a href="#type-decl_ref">decl_ref</a> list</span>;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-lookups"><a href="#type-lookups" class="anchor"></a><code><span><span class="keyword">type</span> lookups</span><span> = </span><span>{</span></code><ol><li id="type-lookups.lups_decl_ref" class="def record field anchored"><a href="#type-lookups.lups_decl_ref" class="anchor"></a><code><span>lups_decl_ref : <a href="#type-decl_ref">decl_ref</a>;</span></code></li><li id="type-lookups.lups_primary_context_pointer" class="def record field anchored"><a href="#type-lookups.lups_primary_context_pointer" class="anchor"></a><code><span>lups_primary_context_pointer : <span><a href="#type-pointer">pointer</a> option</span>;</span></code></li><li id="type-lookups.lups_lookups" class="def record field anchored"><a href="#type-lookups.lups_lookups" class="anchor"></a><code><span>lups_lookups : <span><a href="#type-lookup">lookup</a> list</span>;</span></code></li><li id="type-lookups.lups_has_undeserialized_decls" class="def record field anchored"><a href="#type-lookups.lups_has_undeserialized_decls" class="anchor"></a><code><span>lups_has_undeserialized_decls : bool;</span></code></li></ol><code><span>}</span></code></div></div></div></body></html>
